[U-Boot] [PATCH 2/9] rtc: mc146818: Use probe() to set up the device

Bin Meng bmeng.cn at gmail.com
Mon Oct 19 04:22:59 CEST 2015


Hi Simon,

On Mon, Oct 19, 2015 at 5:55 AM, Simon Glass <sjg at chromium.org> wrote:
> At present this driver uses bind() to set up the device. The bind() method
> should not touch the hardware, so move the init code to probe().
>

I think RTC should be initialized anyway. If moving it to probe, it
may not be initialized by U-Boot before jumping to kernel.

> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  drivers/rtc/mc146818.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/rtc/mc146818.c b/drivers/rtc/mc146818.c
> index 9e94a80..da804d5 100644
> --- a/drivers/rtc/mc146818.c
> +++ b/drivers/rtc/mc146818.c
> @@ -225,7 +225,7 @@ static int rtc_mc146818_write8(struct udevice *dev, unsigned int reg, int val)
>         return 0;
>  }
>
> -static int rtc_mc146818_bind(struct udevice *dev)
> +static int rtc_mc146818_probe(struct udevice *dev)
>  {
>         mc146818_init();
>
> @@ -249,7 +249,7 @@ U_BOOT_DRIVER(rtc_mc146818) = {
>         .name = "rtc_mc146818",
>         .id = UCLASS_RTC,
>         .of_match = rtc_mc146818_ids,
> -       .bind = rtc_mc146818_bind,
> +       .probe = rtc_mc146818_probe,
>         .ops = &rtc_mc146818_ops,
>  };
>
> --

Regards,
Bin


More information about the U-Boot mailing list