1
linux/drivers/rtc
Julia Lawall ba6c4033b9 drivers/rtc: correct an error test
rtc is clearly does not satisfy IS_ERR at the point where it is tested, so
I have changed the test to consider the just initialized rtc->rtc_dev.

The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@match exists@
expression x, E;
identifier fld;
position p1,p2;
@@

(
x = E;
|
x = E
|
x@p1->fld
... when != x = E
IS_ERR(x@p2)
... when any
)

@other_match exists@
expression match.x, E1, E2;
position match.p1,match.p2;
@@

x = E1
... when != x = E2
    when != x@p1
x@p2

@ script:python depends on !other_match@
p1 << match.p1;
p2 << match.p2;
@@

print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Cc: David Brownell <david-b@pacbell.net>
Cc: Bryan Wu <bryan.wu@analog.com>
Cc: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06 15:59:25 -08:00
..
class.c rtc: struct device: replace bus_id with dev_name(), dev_set_name() 2009-01-06 15:59:23 -08:00
hctosys.c
interface.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
Kconfig rtc: driver for Marvell's SoCs 88F6281 and 88F6192 2009-01-06 15:59:25 -08:00
Makefile rtc: driver for Marvell's SoCs 88F6281 and 88F6192 2009-01-06 15:59:25 -08:00
rtc-at32ap700x.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-at91rm9200.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-at91sam9.c [ARM] 5319/1: AT91: support AT91CAP9 revC CPUs 2008-12-01 17:22:07 +00:00
rtc-au1xxx.c rtc: Au1000 On-Chip Counter0-as-RTC driver. 2009-01-06 15:59:24 -08:00
rtc-bfin.c drivers/rtc: correct an error test 2009-01-06 15:59:25 -08:00
rtc-bq4802.c drivers/rtc/rtc-bq4802.c: don't use BIN_2_BCD and BCD_2_BIN 2008-10-20 08:52:41 -07:00
rtc-cmos.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-core.h
rtc-dev.c rtc: add alarm/update irq interfaces 2009-01-04 13:33:20 -08:00
rtc-ds1216.c rtc: rtc-ds1216 fixes 2009-01-06 15:59:25 -08:00
rtc-ds1286.c
rtc-ds1302.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-10-20 09:13:34 -07:00
rtc-ds1305.c x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
rtc-ds1307.c x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
rtc-ds1374.c
rtc-ds1390.c rtc: rtc-ds1390 probe sequence and misc fixes 2009-01-06 15:59:24 -08:00
rtc-ds1511.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-ds1553.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-ds1672.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
rtc-ds1742.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-ds3234.c rtc: rtc-ds3234 fixes 2009-01-06 15:59:24 -08:00
rtc-ep93xx.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
rtc-fm3130.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-isl1208.c rtc: rtc-isl1208: reject invalid dates 2008-12-23 15:58:21 -08:00
rtc-lib.c
rtc-m41t80.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-m41t94.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-m48t35.c
rtc-m48t59.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-m48t86.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-max6900.c rtc: fix missing id_table in rtc-ds1672 and rtc-max6900 drivers 2008-12-10 08:01:52 -08:00
rtc-max6902.c rtc: rtc-max6902 fixes 2009-01-06 15:59:24 -08:00
rtc-mv.c rtc: driver for Marvell's SoCs 88F6281 and 88F6192 2009-01-06 15:59:25 -08:00
rtc-omap.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-parisc.c
rtc-pcf8563.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-pcf8583.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-pl030.c
rtc-pl031.c
rtc-ppc.c
rtc-proc.c
rtc-pxa.c rtc: pxa27x/pxa3xx driver fixes, revised 2009-01-06 15:59:24 -08:00
rtc-r9701.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rs5c313.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rs5c348.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rs5c372.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-rx8581.c rtc: basic implementation of Epson RX-8581 I2C Real Time Clock 2008-11-12 17:17:18 -08:00
rtc-s3c.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-s35390a.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-sa1100.c [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant 2008-12-29 17:57:48 +08:00
rtc-sh.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-starfire.c rtc: rtc-starfire fixes 2008-11-21 01:24:38 -08:00
rtc-stk17ta8.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-sun4v.c rtc: rtc-sun4v fixes, revised 2008-11-14 16:37:54 -08:00
rtc-sysfs.c
rtc-test.c rtc: use set_mmss when set_time is not available 2009-01-06 15:59:25 -08:00
rtc-twl4030.c rtc: bunch of drivers: fix 'no irq' case handing 2009-01-06 15:59:23 -08:00
rtc-tx4939.c rtc: add rtc-tx4939 driver 2009-01-06 15:59:25 -08:00
rtc-v3020.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
rtc-vr41xx.c rtc: move power of 2 periodic frequency check down into drivers 2009-01-06 15:59:24 -08:00
rtc-wm8350.c rtc: rtc-wm8350: add support for WM8350 RTC 2008-11-12 17:17:18 -08:00
rtc-x1205.c drivers/rtc/: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00