[U-Boot] [PATCH 2/9] rtc: mc146818: Use probe() to set up the device
Simon Glass
sjg at chromium.org
Mon Oct 19 04:26:50 CEST 2015
Hi Bin,
On 18 October 2015 at 20:22, Bin Meng <bmeng.cn at gmail.com> wrote:
> 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.
That's fine, but the correct way to do this is to probe the device,
not put the init code into the bind() method.
>
>> 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
Regards,
Simon
More information about the U-Boot
mailing list