On Monday 20 October 2014 20:06:01 Ebru Akagunduz wrote: > do_gettimeofday() only can get 32-bit time types > but the driver should be able to use dates that are > after January 2038. > > Remove do_gettimeofday() and use > jiffies comparison to supply 64-bit time types. The description doesn't seem to match what you are doing: - the use of 'struct timeval' in this driver is not actually unsafe - using jiffies does not make it use a 64-bit time type. - you do not mention that using jiffies makes the driver more efficient, which is what James was interested in - The ips_fix_ffdc_time that needs to be changed for 64-bit time does not get changed in this patch. As discussed on IRC, that should be a separate patch. > @@ -6000,7 +6001,7 @@ ips_ffdc_time(ips_ha_t * ha) > /* */ > /****************************************************************************/ > static void > -ips_fix_ffdc_time(ips_ha_t * ha, ips_scb_t * scb, time_t current_time) > +ips_fix_ffdc_time(ips_ha_t * ha, ips_scb_t * scb, unsigned long current_time) > { > long days; > long rem; Using 'unsigned long' for a jiffies value also breaks the function, which makes calculations based on the assumption that you are dealing with a time_t. I think the best fix here is to use rtc_ktime_to_tm(ktime_get()) to get a 'struct rtc_time' describing the current time, and then removing most of the code. You will have to change Kconfig to 'select RTC_LIB' from the ips driver in order to do this. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html