Re: [PATCH] i2c-rk3x: move setup to the earlier subsys initcall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,

Am Montag, 22. September 2014, 15:24:35 schrieb Chris Zhong:
> Some device using this bus, such as regulators, they should register
> as early as possible, so the I2C bus master needs to be loaded early.
> Therefore initialize via subsys_initcall() is better.

You could also use probe deferral in the regulator driver to wait until the 
bus is ready. I don't know if you're already doing it, just wanted to point 
that out.

That said, this change will make the boot faster in any case by avoiding 
unnecessary deferrals, so I'm for it if you fix the minor issue below.

> Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx>
> 
> ---
> 
>  drivers/i2c/busses/i2c-rk3x.c |   13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
> index e637c32..5b91901 100644
> --- a/drivers/i2c/busses/i2c-rk3x.c
> +++ b/drivers/i2c/busses/i2c-rk3x.c
> @@ -760,7 +760,18 @@ static struct platform_driver rk3x_i2c_driver = {
>  	},
>  };
> 
> -module_platform_driver(rk3x_i2c_driver);
> +static int __init rk3x_i2c_init_driver(void)
> +{
> +	return platform_driver_register(&rk3x_i2c_driver);
> +}
> +
> +static void __exit rk3x_i2c_exit_driver(void)
> +{
> +	platform_driver_unregister(&rk3x_i2c_driver);
> +}
> +
> +subsys_initcall(rk3x_i2c_init_driver);
> +module_exit(rk3x_i2c_exit_driver);

This means that the driver cannot be used as a loadable module any more, 
right?

In that case, you should probably turn the tristate option in Kconfig into a 
bool.

Cheers,
  Max

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux