Re: [RFC PATCH 4/4] rtc/imxdi: Update driver to address time issues

From: pang.xunlei
Date: Fri Nov 28 2014 - 11:20:09 EST


On 28 November 2014 at 07:24, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Thu, 27 Nov 2014, Xunlei Pang wrote:
>> @@ -213,17 +213,16 @@ static int dryice_rtc_set_mmss(struct device *dev, time64_t secs)
>> {
>> struct imxdi_dev *imxdi = dev_get_drvdata(dev);
>> int rc;
>> + u32 hwtime;
>> +
>> + rc = rtc_time64_to_hw32(secs, &hwtime);
>> + if (rc < 0)
>> + return rc;
>>
>> /* zero the fractional part first */
>> rc = di_write_wait(imxdi, 0, DTCLR);
>> if (rc == 0)
>> - /*
>> - * y2106 issue:
>> - * On 32bit systems the time64_t secs value gets cast to
>> - * a 32bit long, and thus we can only write a maximum value
>> - * of y2016
>> - */
>> - rc = di_write_wait(imxdi, secs, DTCMR);
>> + rc = di_write_wait(imxdi, hwtime, DTCMR);
>
> So you repeat the same thing what I complained about last time. First
> you add crap to a driver then you remove it again instead of analyzing
> the necessary conversions in the first place, provide the
> infrastructure and then do a per driver conversion. It's not that
> hard, really and I'm getting tired of your approach.
>
> Step 1: Provide rtc.set_mmss64
>
> Step 2: Implement the epoch helper functions for 32bit hardware
>
> Step 3: Convert drivers
>
> Step 4: Remove obsolete interfaces
>
> I wont explain that once more, really.

Actually, I want to do this eariler, just thought that the "y2106 issue"
tags aren't something my patches brought about, they are more like
reminders help me with future patches.

Anyway, they are ungraceful being there. I'll refine this patchset carefully
according to your valuable suggestions, and will send out another version.

Thanks for your review!

Regards,
Xunlei

>
> Thanks,
>
> tglx
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/