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

From: Thomas Gleixner
Date: Thu Nov 27 2014 - 18:24:58 EST


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.

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/