From: Arnd Bergmann <arnd@arndb.de>
To: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Cc: linux-kernel@vger.kernel.org,
Jerome Oufella <jerome.oufella@savoirfairelinux.com>,
platform-driver-x86@vger.kernel.org,
linux-serial@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs
Date: Wed, 4 May 2011 18:29:12 +0200 [thread overview]
Message-ID: <201105041829.12801.arnd@arndb.de> (raw)
In-Reply-To: <1304115712-5299-3-git-send-email-vivien.didelot@savoirfairelinux.com>
On Saturday 30 April 2011, Vivien Didelot wrote:
> + ts5xxx_sbcinfo_set(&sbcinfo);
> + if (5500 != sbcinfo.board_id) {
> + printk(MODULE_NAME ": Incompatible TS Board.\n");
> + return -ENODEV;
> + }
The above should not be necessary:
> +static int __init ts5500_gpio_init(void)
> +{
> + int ret;
> +
> + ret = platform_driver_register(&ts5500_gpio_driver);
> + if (ret)
> + return ret;
> +
> + ret = platform_device_register(&gpio_device);
> + if (ret) {
> + printk(MODULE_NAME ": Failed to register platform device\n");
> + platform_driver_unregister(&ts5500_gpio_driver);
> + return ret;
> + }
> +
> + printk(MODULE_NAME ": GPIO/DIO driver loaded.\n");
> + return 0;
> +}
> +module_init(ts5500_gpio_init);
Doing it this way requires you know that you have to load the driver,
which is not good if you want to have the same kernel running on
different machines.
Better move the device registration into your platform code, in the
place where you know what device you have. The add a MODULE_DEVICE_TABLE()
entry to the module so the driver gets automatically loaded (if it's
a module), and match the platform device to the driver you register
from the module_init function.
Same for the other devices where you follow the same pattern.
Another way to do the same in a more modern fashion would be
to provide a flattened device tree that describes all your devices
and pass that into the kernel. Take a look at the CE4100 and OLPC
platforms to see how that is done.
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Cc: linux-kernel@vger.kernel.org,
Jerome Oufella <jerome.oufella@savoirfairelinux.com>,
platform-driver-x86@vger.kernel.org,
linux-serial@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [RFC 2/5] gpio: add support for Technologic
Date: Wed, 04 May 2011 16:29:12 +0000 [thread overview]
Message-ID: <201105041829.12801.arnd@arndb.de> (raw)
In-Reply-To: <1304115712-5299-3-git-send-email-vivien.didelot@savoirfairelinux.com>
On Saturday 30 April 2011, Vivien Didelot wrote:
> + ts5xxx_sbcinfo_set(&sbcinfo);
> + if (5500 != sbcinfo.board_id) {
> + printk(MODULE_NAME ": Incompatible TS Board.\n");
> + return -ENODEV;
> + }
The above should not be necessary:
> +static int __init ts5500_gpio_init(void)
> +{
> + int ret;
> +
> + ret = platform_driver_register(&ts5500_gpio_driver);
> + if (ret)
> + return ret;
> +
> + ret = platform_device_register(&gpio_device);
> + if (ret) {
> + printk(MODULE_NAME ": Failed to register platform device\n");
> + platform_driver_unregister(&ts5500_gpio_driver);
> + return ret;
> + }
> +
> + printk(MODULE_NAME ": GPIO/DIO driver loaded.\n");
> + return 0;
> +}
> +module_init(ts5500_gpio_init);
Doing it this way requires you know that you have to load the driver,
which is not good if you want to have the same kernel running on
different machines.
Better move the device registration into your platform code, in the
place where you know what device you have. The add a MODULE_DEVICE_TABLE()
entry to the module so the driver gets automatically loaded (if it's
a module), and match the platform device to the driver you register
from the module_init function.
Same for the other devices where you follow the same pattern.
Another way to do the same in a more modern fashion would be
to provide a flattened device tree that describes all your devices
and pass that into the kernel. Take a look at the CE4100 and OLPC
platforms to see how that is done.
Arnd
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
next prev parent reply other threads:[~2011-05-04 16:29 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-29 22:21 [RFC 0/5] Support for Technologic Systems TS-5500 board Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] " Vivien Didelot
2011-04-29 22:21 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-04-29 23:32 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Greg KH
2011-04-29 23:32 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Greg KH
2011-05-02 21:07 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-02 21:07 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-02 21:55 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Greg KH
2011-05-02 21:55 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Greg KH
2011-05-03 9:39 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-05-03 9:39 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-03 14:13 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Greg KH
2011-05-03 14:13 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Greg KH
2011-04-30 10:07 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-04-30 10:07 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-04 15:15 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-04 15:15 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-04 15:29 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-05-04 15:29 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-04 20:34 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-04 20:34 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-05 13:38 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Alan Cox
2011-05-05 13:38 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Alan Cox
2011-05-11 22:24 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Vivien Didelot
2011-05-11 22:24 ` [lm-sensors] [RFC 1/5] platform-drivers-x86: add support for Vivien Didelot
2011-05-17 12:37 ` [RFC 1/5] platform-drivers-x86: add support for Technologic Systems TS-5xxx detection Sean Young
2011-05-18 15:03 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Systems Vivien Didelot
2011-04-30 10:15 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Alan Cox
2011-04-30 10:15 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Alan Cox
2011-05-13 21:33 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Vivien Didelot
2011-05-13 21:33 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Vivien Didelot
2011-05-13 22:03 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Alan Cox
2011-05-13 22:03 ` [lm-sensors] [RFC 2/5] gpio: add support for Technologic Alan Cox
2011-05-04 16:29 ` Arnd Bergmann [this message]
2011-05-04 16:29 ` Arnd Bergmann
2011-04-29 22:21 ` [RFC 2/5] gpio: add support for Technologic Systems TS-5500 GPIOs Vivien Didelot
2011-04-29 22:21 ` [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 3/5] serial: add support for Technologic Systems Vivien Didelot
2011-04-30 10:17 ` [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port Alan Cox
2011-04-30 10:17 ` [lm-sensors] [RFC 3/5] serial: add support for Technologic Alan Cox
2011-06-06 20:48 ` [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port Vivien Didelot
2011-06-06 20:48 ` [lm-sensors] [RFC 3/5] serial: add support for Technologic Vivien Didelot
2011-04-29 22:21 ` [RFC 3/5] serial: add support for Technologic Systems TS-5500 RS-485 serial port Vivien Didelot
2011-04-29 22:21 ` [RFC 4/5] leds: add support for Technologic Systems TS-5500 leds Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 4/5] leds: add support for Technologic Systems Vivien Didelot
2011-05-03 6:04 ` [RFC 4/5] leds: add support for Technologic Systems TS-5500 leds Govindraj
2011-05-03 6:16 ` [lm-sensors] [RFC 4/5] leds: add support for Technologic Govindraj
2011-04-29 22:21 ` [RFC 4/5] leds: add support for Technologic Systems TS-5500 leds Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems Vivien Didelot
2011-04-30 3:39 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-04-30 3:39 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Guenter Roeck
2011-04-30 3:39 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-04-30 9:56 ` Jonathan Cameron
2011-04-30 9:56 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Jonathan Cameron
2011-05-03 15:55 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Vivien Didelot
2011-05-03 15:55 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Vivien Didelot
2011-05-03 17:33 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-05-03 17:33 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Guenter Roeck
2011-05-03 17:33 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Guenter Roeck
2011-05-04 9:03 ` Jonathan Cameron
2011-05-04 9:03 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Jonathan Cameron
2011-05-04 9:03 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Jonathan Cameron
2011-06-06 22:56 ` Vivien Didelot
2011-06-07 8:37 ` Jonathan Cameron
2011-04-30 10:20 ` Alan Cox
2011-04-30 10:20 ` [lm-sensors] [RFC 5/5] hwmon: add support for Technologic Alan Cox
2011-04-29 22:21 ` [RFC 5/5] hwmon: add support for Technologic Systems TS-5500 A-D converter Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
2011-04-29 22:21 ` Vivien Didelot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201105041829.12801.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=jerome.oufella@savoirfairelinux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=vivien.didelot@savoirfairelinux.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.