[tip:x86/platform] x86: Add TS-5500 platform support

2013-01-26 Thread tip-bot for Vivien Didelot
Commit-ID:  7d0291256ca99cbb6124f63228003329e7a64b21
Gitweb: http://git.kernel.org/tip/7d0291256ca99cbb6124f63228003329e7a64b21
Author: Vivien Didelot 
AuthorDate: Fri, 4 Jan 2013 16:18:14 -0500
Committer:  Ingo Molnar 
CommitDate: Fri, 25 Jan 2013 19:40:23 +0100

x86: Add TS-5500 platform support

The Technologic Systems TS-5500 is an x86-based (AMD Elan SC520)
single board computer. This driver registers most of its devices
and exposes sysfs attributes for information such as jumpers'
state or presence of some of its options.

This driver currently registers the TS-5500 platform, its
on-board LED, 2 pin blocks (GPIO) and its analog/digital
converter. It can be extended to support other Technologic
Systems products, such as the TS-5600.

Signed-off-by: Vivien Didelot 
Acked-by: Thomas Gleixner 
Cc: Savoir-faire Linux Inc. 
Link: 
http://lkml.kernel.org/r/1357334294-12760-1-git-send-email-vivien.dide...@savoirfairelinux.com
Signed-off-by: Ingo Molnar 
---
 Documentation/ABI/testing/sysfs-platform-ts5500 |  47 
 MAINTAINERS |   5 +
 arch/x86/Kconfig|   9 +
 arch/x86/platform/Makefile  |   1 +
 arch/x86/platform/ts5500/Makefile   |   1 +
 arch/x86/platform/ts5500/ts5500.c   | 339 
 6 files changed, 402 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-platform-ts5500 
b/Documentation/ABI/testing/sysfs-platform-ts5500
new file mode 100644
index 000..c88375a
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-platform-ts5500
@@ -0,0 +1,47 @@
+What:  /sys/devices/platform/ts5500/adc
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of an A/D Converter. If it is present,
+   it will display "1", otherwise "0".
+
+What:  /sys/devices/platform/ts5500/ereset
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of an external reset. If it is present,
+   it will display "1", otherwise "0".
+
+What:  /sys/devices/platform/ts5500/id
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Product ID of the TS board. TS-5500 ID is 0x60.
+
+What:  /sys/devices/platform/ts5500/jumpers
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Bitfield showing the jumpers' state. If a jumper is present,
+   the corresponding bit is set. For instance, 0x0e means jumpers
+   2, 3 and 4 are set.
+
+What:  /sys/devices/platform/ts5500/rs485
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of the RS485 option. If it is present,
+   it will display "1", otherwise "0".
+
+What:  /sys/devices/platform/ts5500/sram
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of the SRAM option. If it is present,
+   it will display "1", otherwise "0".
diff --git a/MAINTAINERS b/MAINTAINERS
index 3105c48..2617040 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7543,6 +7543,11 @@ F:   drivers/net/team/
 F: include/linux/if_team.h
 F: include/uapi/linux/if_team.h
 
+TECHNOLOGIC SYSTEMS TS-5500 PLATFORM SUPPORT
+M: Savoir-faire Linux Inc. 
+S: Maintained
+F: arch/x86/platform/ts5500/
+
 TECHNOTREND USB IR RECEIVER
 M: Sean Young 
 L: linux-me...@vger.kernel.org
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 46fb28c..0709e34 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2199,6 +2199,15 @@ config GEOS
---help---
  This option enables system support for the Traverse Technologies GEOS.
 
+config TS5500
+   bool "Technologic Systems TS-5500 platform support"
+   depends on MELAN
+   select CHECK_SIGNATURE
+   select NEW_LEDS
+   select LEDS_CLASS
+   ---help---
+ This option enables system support for the Technologic Systems 
TS-5500.
+
 endif # X86_32
 
 config AMD_NB
diff --git a/arch/x86/platform/Makefile b/arch/x86/platform/Makefile
index bfe917f..01e0231 100644
--- a/arch/x86/platform/Makefile
+++ b/arch/x86/platform/Makefile
@@ -8,5 +8,6 @@ obj-y   += mrst/
 obj-y  += olpc/
 obj-y  += scx200/
 obj-y  += sfi/
+obj-y  += ts5500/
 obj-y  += visws/
 obj-y  += uv/
diff --git a/arch/x86/platform/ts5500/Makefile 
b/arch/x86/platform/ts5500/Makefile
new file mode 100644
index 000..c54e348
--- /dev/null
+++ b/arch/x86/platform/ts5500/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_TS5500)   += ts5500.o
diff --git a/arch/x86/platform/ts5500/ts5500.c 
b/arch/x86/platform/ts5500/ts5500.c
new fil

Re: [tip:x86/platform] x86: Add TS-5500 platform support

2013-01-25 Thread Ingo Molnar

* Vivien Didelot  wrote:

> Hi Ingo,
> 
> > This patch still appears to have some problems with certain
> > (rare) LEDS .config variations:
> > 
> >  arch/x86/built-in.o: In function `ts5500_init':
> >  ts5500.c:(.init.text+0xdae6): undefined reference to
> >  `led_classdev_register'
> > 
> > Config attached.
> > 
> > Please fix & resend.
> 
> I think the attached config might not be the right one. [...]

Hm, yes - sorry. The failure happened on a testbox and I might 
have misplaced the config.

> [...] This issue happens when the ts5500 support is selected 
> (CONFIG_TS5500=y) but the LED class (CONFIG_NEW_LEDS and 
> CONFIG_LEDS_CLASS) is not.
> 
> Thanks for pointing this out.
> The following patch below solves this issue. Is it ok, or should
> I resend to whole board support patch?

This one's OK, I'll resurrect the old one and amend it with your 
delta fix.

Thanks!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [tip:x86/platform] x86: Add TS-5500 platform support

2013-01-25 Thread Vivien Didelot
Hi Ingo,

> This patch still appears to have some problems with certain
> (rare) LEDS .config variations:
> 
>  arch/x86/built-in.o: In function `ts5500_init':
>  ts5500.c:(.init.text+0xdae6): undefined reference to
>  `led_classdev_register'
> 
> Config attached.
> 
> Please fix & resend.

I think the attached config might not be the right one. This issue
happens when the ts5500 support is selected (CONFIG_TS5500=y) but
the LED class (CONFIG_NEW_LEDS and CONFIG_LEDS_CLASS) is not.

Thanks for pointing this out.
The following patch below solves this issue. Is it ok, or should
I resend to whole board support patch?

Thanks,
Vivien




diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index df5815e..9394759 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2191,6 +2191,8 @@ config TS5500
bool "Technologic Systems TS-5500 platform support"
depends on MELAN
select CHECK_SIGNATURE
+   select NEW_LEDS
+   select LEDS_CLASS
---help---
  This option enables system support for the Technologic Systems 
TS-5500.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[tip:x86/platform] x86: Add TS-5500 platform support

2013-01-24 Thread tip-bot for Vivien Didelot
Commit-ID:  9109acadd2ce849ae764e539bad5c50f92fb3b90
Gitweb: http://git.kernel.org/tip/9109acadd2ce849ae764e539bad5c50f92fb3b90
Author: Vivien Didelot 
AuthorDate: Fri, 4 Jan 2013 16:18:14 -0500
Committer:  Ingo Molnar 
CommitDate: Thu, 24 Jan 2013 14:56:49 +0100

x86: Add TS-5500 platform support

The Technologic Systems TS-5500 is an x86-based (AMD Elan SC520)
single board computer. This driver registers most of its devices
and exposes sysfs attributes for information such as jumpers'
state or presence of some of its options.

This driver currently registers the TS-5500 platform, its
on-board LED, 2 pin blocks (GPIO) and its analog/digital
converter. It can be extended to support other Technologic
Systems products, such as the TS-5600.

Signed-off-by: Vivien Didelot 
Acked-by: Thomas Gleixner 
Cc: Savoir-faire Linux Inc. 
Link: 
http://lkml.kernel.org/r/1357334294-12760-1-git-send-email-vivien.dide...@savoirfairelinux.com
Signed-off-by: Ingo Molnar 
---
 Documentation/ABI/testing/sysfs-platform-ts5500 |  47 
 MAINTAINERS |   5 +
 arch/x86/Kconfig|   7 +
 arch/x86/platform/Makefile  |   1 +
 arch/x86/platform/ts5500/Makefile   |   1 +
 arch/x86/platform/ts5500/ts5500.c   | 339 
 6 files changed, 400 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-platform-ts5500 
b/Documentation/ABI/testing/sysfs-platform-ts5500
new file mode 100644
index 000..c88375a
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-platform-ts5500
@@ -0,0 +1,47 @@
+What:  /sys/devices/platform/ts5500/adc
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of an A/D Converter. If it is present,
+   it will display "1", otherwise "0".
+
+What:  /sys/devices/platform/ts5500/ereset
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of an external reset. If it is present,
+   it will display "1", otherwise "0".
+
+What:  /sys/devices/platform/ts5500/id
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Product ID of the TS board. TS-5500 ID is 0x60.
+
+What:  /sys/devices/platform/ts5500/jumpers
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Bitfield showing the jumpers' state. If a jumper is present,
+   the corresponding bit is set. For instance, 0x0e means jumpers
+   2, 3 and 4 are set.
+
+What:  /sys/devices/platform/ts5500/rs485
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of the RS485 option. If it is present,
+   it will display "1", otherwise "0".
+
+What:  /sys/devices/platform/ts5500/sram
+Date:  January 2013
+KernelVersion: 3.7
+Contact:   "Savoir-faire Linux Inc." 
+Description:
+   Indicates the presence of the SRAM option. If it is present,
+   it will display "1", otherwise "0".
diff --git a/MAINTAINERS b/MAINTAINERS
index 3105c48..2617040 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7543,6 +7543,11 @@ F:   drivers/net/team/
 F: include/linux/if_team.h
 F: include/uapi/linux/if_team.h
 
+TECHNOLOGIC SYSTEMS TS-5500 PLATFORM SUPPORT
+M: Savoir-faire Linux Inc. 
+S: Maintained
+F: arch/x86/platform/ts5500/
+
 TECHNOTREND USB IR RECEIVER
 M: Sean Young 
 L: linux-me...@vger.kernel.org
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 46fb28c..8ff8dab 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2199,6 +2199,13 @@ config GEOS
---help---
  This option enables system support for the Traverse Technologies GEOS.
 
+config TS5500
+   bool "Technologic Systems TS-5500 platform support"
+   depends on MELAN
+   select CHECK_SIGNATURE
+   ---help---
+ This option enables system support for the Technologic Systems 
TS-5500.
+
 endif # X86_32
 
 config AMD_NB
diff --git a/arch/x86/platform/Makefile b/arch/x86/platform/Makefile
index bfe917f..01e0231 100644
--- a/arch/x86/platform/Makefile
+++ b/arch/x86/platform/Makefile
@@ -8,5 +8,6 @@ obj-y   += mrst/
 obj-y  += olpc/
 obj-y  += scx200/
 obj-y  += sfi/
+obj-y  += ts5500/
 obj-y  += visws/
 obj-y  += uv/
diff --git a/arch/x86/platform/ts5500/Makefile 
b/arch/x86/platform/ts5500/Makefile
new file mode 100644
index 000..c54e348
--- /dev/null
+++ b/arch/x86/platform/ts5500/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_TS5500)   += ts5500.o
diff --git a/arch/x86/platform/ts5500/ts5500.c 
b/arch/x86/platform/ts5500/ts5500.c
new file mode 100644
index 000..39febb2
--- /dev/null