| From 22e181ba7f09197dd6f35a48013cb86289644eb6 Mon Sep 17 00:00:00 2001 |
| From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
| Date: Fri, 24 Oct 2008 01:05:56 +0200 |
| Subject: powerpc: fix i2c on PPC linkstation / kurobox machines |
| Message-ID: <Pine.LNX.4.64.0810281526470.7705@axis700.grange> |
| |
| From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
| |
| commit 22e181ba7f09197dd6f35a48013cb86289644eb6 upstream. |
| |
| The i2c bus defn is broken on linkstation / kurobox machines since at |
| least 2.6.27. Fix it. Also remove CONFIG_SERIAL_OF_PLATFORM, which, if |
| enabled, breaks the serial console after the |
| "console handover: boot [udbg0] -> real [ttyS1]" message. |
| |
| Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
| Signed-off-by: Kumar Gala <galak@kernel.crashing.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/powerpc/configs/linkstation_defconfig | 7 +++---- |
| arch/powerpc/platforms/embedded6xx/linkstation.c | 14 ++++++++++++++ |
| 2 files changed, 17 insertions(+), 4 deletions(-) |
| |
| --- a/arch/powerpc/configs/linkstation_defconfig |
| +++ b/arch/powerpc/configs/linkstation_defconfig |
| @@ -1,7 +1,7 @@ |
| # |
| # Automatically generated make config: don't edit |
| -# Linux kernel version: 2.6.27-rc4 |
| -# Thu Aug 21 00:52:05 2008 |
| +# Linux kernel version: 2.6.27 |
| +# Fri Oct 24 00:42:39 2008 |
| # |
| # CONFIG_PPC64 is not set |
| |
| @@ -934,7 +934,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
| CONFIG_SERIAL_CORE=y |
| CONFIG_SERIAL_CORE_CONSOLE=y |
| # CONFIG_SERIAL_JSM is not set |
| -CONFIG_SERIAL_OF_PLATFORM=y |
| +# CONFIG_SERIAL_OF_PLATFORM is not set |
| CONFIG_UNIX98_PTYS=y |
| CONFIG_LEGACY_PTYS=y |
| CONFIG_LEGACY_PTY_COUNT=256 |
| @@ -1211,7 +1211,6 @@ CONFIG_USB_STORAGE=m |
| # CONFIG_USB_STORAGE_ALAUDA is not set |
| # CONFIG_USB_STORAGE_ONETOUCH is not set |
| # CONFIG_USB_STORAGE_KARMA is not set |
| -# CONFIG_USB_STORAGE_SIERRA is not set |
| # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set |
| # CONFIG_USB_LIBUSUAL is not set |
| |
| --- a/arch/powerpc/platforms/embedded6xx/linkstation.c |
| +++ b/arch/powerpc/platforms/embedded6xx/linkstation.c |
| @@ -13,6 +13,7 @@ |
| #include <linux/kernel.h> |
| #include <linux/initrd.h> |
| #include <linux/mtd/physmap.h> |
| +#include <linux/of_platform.h> |
| |
| #include <asm/time.h> |
| #include <asm/prom.h> |
| @@ -54,6 +55,19 @@ static struct mtd_partition linkstation_ |
| }, |
| }; |
| |
| +static __initdata struct of_device_id of_bus_ids[] = { |
| + { .type = "soc", }, |
| + { .compatible = "simple-bus", }, |
| + {}, |
| +}; |
| + |
| +static int __init declare_of_platform_devices(void) |
| +{ |
| + of_platform_bus_probe(NULL, of_bus_ids, NULL); |
| + return 0; |
| +} |
| +machine_device_initcall(linkstation, declare_of_platform_devices); |
| + |
| static int __init linkstation_add_bridge(struct device_node *dev) |
| { |
| #ifdef CONFIG_PCI |