rtc: ds1307: refactor chip_desc table
authorWolfram Sang <w.sang@pengutronix.de>
Fri, 23 Mar 2012 22:02:36 +0000 (15:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 23 Mar 2012 23:58:40 +0000 (16:58 -0700)
The chip_desc table is suboptimal.  Currently it requires an entry for
every new chip type, even if it is empty.  This has already been
forgotten for the ds1388.  Refactor the code, so new entries are only
needed, when they chip type really needs a (non-empty) description.
Also make the table visually more appealing.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Austin Boyle <Austin.Boyle@aviatnet.com>
Cc: David Anders <danders.dev@gmail.com>
Cc: Alessandro Zummo <alessandro.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-ds1307.c

index 58edcb07674286b90c6c589bb0d19a9eded1fbe5..5098e1ad3a3ea2d54dbba29643e056b6e2bef9cf 100644 (file)
@@ -36,6 +36,7 @@ enum ds_type {
        m41t00,
        mcp7941x,
        rx_8025,
+       last_ds_type /* always last */
        // rs5c372 too?  different address...
 };
 
@@ -120,30 +121,23 @@ struct chip_desc {
        unsigned                alarm:1;
 };
 
-static const struct chip_desc chips[] = {
-[ds_1307] = {
-       .nvram56        = 1,
-},
-[ds_1337] = {
-       .alarm          = 1,
-},
-[ds_1338] = {
-       .nvram56        = 1,
-},
-[ds_1339] = {
-       .alarm          = 1,
-},
-[ds_1340] = {
-},
-[ds_3231] = {
-       .alarm          = 1,
-},
-[m41t00] = {
-},
-[mcp7941x] = {
-},
-[rx_8025] = {
-}, };
+static const struct chip_desc chips[last_ds_type] = {
+       [ds_1307] = {
+               .nvram56        = 1,
+       },
+       [ds_1337] = {
+               .alarm          = 1,
+       },
+       [ds_1338] = {
+               .nvram56        = 1,
+       },
+       [ds_1339] = {
+               .alarm          = 1,
+       },
+       [ds_3231] = {
+               .alarm          = 1,
+       },
+};
 
 static const struct i2c_device_id ds1307_id[] = {
        { "ds1307", ds_1307 },
@@ -836,11 +830,7 @@ read_rtc:
                }
 
                break;
-       case rx_8025:
-       case ds_1337:
-       case ds_1339:
-       case ds_1388:
-       case ds_3231:
+       default:
                break;
        }