mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:04:51 +01:00
gpio: aspeed-sgpio: Change the macro to support deferred probe
Use module_platform_driver() to replace module_platform_driver_probe(). The former utilizes platform_driver_register(), which allows the driver to defer probing when it doesn't acquire the necessary resources due to probe order. In contrast, the latter uses __platform_driver_probe(), which includes the comment "Note that this is incompatible with deferred probing." Since our SGPIO driver requires access to the clock resource, the former is more suitable. Reviewed-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com> Link: https://lore.kernel.org/r/20260123-upstream_sgpio-v2-1-69cfd1631400@aspeedtech.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
parent
09b174f1a5
commit
e18533b023
1 changed files with 3 additions and 2 deletions
|
|
@ -516,7 +516,7 @@ static const struct of_device_id aspeed_sgpio_of_table[] = {
|
|||
|
||||
MODULE_DEVICE_TABLE(of, aspeed_sgpio_of_table);
|
||||
|
||||
static int __init aspeed_sgpio_probe(struct platform_device *pdev)
|
||||
static int aspeed_sgpio_probe(struct platform_device *pdev)
|
||||
{
|
||||
u32 nr_gpios, sgpio_freq, sgpio_clk_div, gpio_cnt_regval, pin_mask;
|
||||
const struct aspeed_sgpio_pdata *pdata;
|
||||
|
|
@ -611,11 +611,12 @@ static int __init aspeed_sgpio_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
static struct platform_driver aspeed_sgpio_driver = {
|
||||
.probe = aspeed_sgpio_probe,
|
||||
.driver = {
|
||||
.name = KBUILD_MODNAME,
|
||||
.of_match_table = aspeed_sgpio_of_table,
|
||||
},
|
||||
};
|
||||
|
||||
module_platform_driver_probe(aspeed_sgpio_driver, aspeed_sgpio_probe);
|
||||
module_platform_driver(aspeed_sgpio_driver);
|
||||
MODULE_DESCRIPTION("Aspeed Serial GPIO Driver");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue