[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

CONFIG_GPIO_SYSFS



hi all,

i'm doing an embedded remote firewall/router and "management" system
(preliminary approval's been obtained to release the code as GPL at
some point) using a pc-engines alix6f2 (AMD Geode LX800), and have had
to make the rather unfortunate and necessary decision to
custom-compile the kernel.  we picked 3.9.6 because that was what was
available at the time, and was found to work [but can upgrade to
latest debian/testing kernels]

the custom-compiling was done because the board needs GPIO control of
an arduino-style relay in order to control the power to a larger x86
motherboard and its associated equipment.

the problem is that nobody has really said exactly why
CONFIG_GPIO_SYSFS has been disabled by default in debian kernels.  in
fact if you look as far back as the 2.6.32-squeeze48 linux kernel, the
orion5 and kirkwood boards have it "enabled", but nothing else does.
this would not _be_ a problem if there was not some concern here about
the use of "non-standard" i.e. "non-stock" software.

the discussion and investigation surrounding this issue is here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=706476

leaving out the historical issue (which is that the older 2.6 GPIO
module worked because it bypassed SYSFS_GPIO) if there is an objection
that SYSFS_GPIO is "unsafe" for general use on e.g. x86 systems, that
objection is "overruleable" shall we say on the basis that *explicit*
action has to be taken in order to access GPIO.  chances of that
happening randomly and accidentally are extremely slim, and in each
GPIO module "unsafe" GPIO access is disabled by a hard-coded
unalterable mask _anyway_.  in the case of the CS5535 kernel module
for example access to the shared NMI-IRQ/GPIO line is explicitly
banned.

can i possibly ask:

1) could someone please give a reasonable explanation / justification
why CONFIG_GPIO_SYSFS is currently disabled by default

2) do those reasons in (1) still apply now (for the current testing
linux kernel, at the time of writing i believe that's 3.11)

3) if they do not apply, please could i request that CONFIG_GPIO_SYSFS
and CONFIG_GPIO_CS5535 be enabled by default in the 486 kernel builds
(*nods to ben*) because we're a bit stuffed without them [1]

many thanks,

l.

[1] i say "stuffed" - we would have to go with a USB-based relay
solution, at a cost of around £30 from e.g. robot-electronics.co.uk
for the RLY-USB2, instead of a much simpler £5 sainsmart arduino-style
solution.


Reply to: