[PATCH] gianfar: fix coalescing setup in ethtool support
From: Jiajun Wu b06...@freescale.com Parameter order for using mk_ic_value(count, time) was reversed, the patch fixes this. Signed-off-by: Jiajun Wu b06...@freescale.com Signed-off-by: Li Yang le...@freescale.com --- drivers/net/gianfar_ethtool.c | 10 -- 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/gianfar_ethtool.c b/drivers/net/gianfar_ethtool.c index 2a7edfa..3109f4b 100644 --- a/drivers/net/gianfar_ethtool.c +++ b/drivers/net/gianfar_ethtool.c @@ -373,9 +373,8 @@ static int gfar_scoalesce(struct net_device *dev, struct ethtool_coalesce *cvals return -EINVAL; } - priv-rxic = mk_ic_value( - gfar_usecs2ticks(priv, cvals-rx_coalesce_usecs), - cvals-rx_max_coalesced_frames); + priv-rxic = mk_ic_value(cvals-rx_max_coalesced_frames, + gfar_usecs2ticks(priv, cvals-rx_coalesce_usecs)); /* Set up tx coalescing */ if ((cvals-tx_coalesce_usecs == 0) || @@ -397,9 +396,8 @@ static int gfar_scoalesce(struct net_device *dev, struct ethtool_coalesce *cvals return -EINVAL; } - priv-txic = mk_ic_value( - gfar_usecs2ticks(priv, cvals-tx_coalesce_usecs), - cvals-tx_max_coalesced_frames); + priv-txic = mk_ic_value(cvals-tx_max_coalesced_frames, + gfar_usecs2ticks(priv, cvals-tx_coalesce_usecs)); gfar_write(priv-regs-rxic, 0); if (priv-rxcoalescing) -- 1.5.6.3 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
82xx, mgcoge: updates for 2.6.32
- add I2C support - add FCC1 and FCC2 support - fix bogus gpio numbering in plattformcode Signed-off-by: Heiko Schocher h...@denx.de --- - based on git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next branch - checked with checkpatch.pl: $ ./scripts/checkpatch.pl 0001-82xx-mgcoge-updates-for-2.6.32.patch total: 0 errors, 0 warnings, 531 lines checked 0001-82xx-mgcoge-updates-for-2.6.32.patch has no obvious style problems and is ready for submission. $ BTW: Who is PPC82XX Maintainer? I couldn;t find such an entry in the MAINTAINERS file ... arch/powerpc/boot/dts/mgcoge.dts | 56 ++ arch/powerpc/configs/mgcoge_defconfig | 178 +--- arch/powerpc/platforms/82xx/mgcoge.c | 69 +++-- 3 files changed, 255 insertions(+), 48 deletions(-) diff --git a/arch/powerpc/boot/dts/mgcoge.dts b/arch/powerpc/boot/dts/mgcoge.dts index 633255a..a2efc36 100644 --- a/arch/powerpc/boot/dts/mgcoge.dts +++ b/arch/powerpc/boot/dts/mgcoge.dts @@ -162,6 +162,62 @@ fixed-link = 0 0 10 0 0; }; + i...@11860 { + compatible = fsl,mpc8272-i2c, +fsl,cpm2-i2c; + reg = 0x11860 0x20 0x8afc 0x2; + interrupts = 1 8; + interrupt-parent = PIC; + fsl,cpm-command = 0x2960; + #address-cells = 1; + #size-cells = 0; + }; + + m...@10d40 { + device_type = mdio; + compatible = fsl,cpm2-mdio-bitbang; + reg = 0x10d00 0x14; + #address-cells = 1; + #size-cells = 0; + fsl,mdio-pin = 12; + fsl,mdc-pin = 13; + + phy0: ethernet-...@0 { + reg = 0x0; + device_type = ethernet-phy; + }; + + phy1: ethernet-...@1 { + reg = 0x1; + device_type = ethernet-phy; + }; + }; + + /* FCC1 management to switch */ + ether...@11300 { + device_type = network; + compatible = fsl,cpm2-fcc-enet; + reg = 0x11300 0x20 0x8400 0x100 0x11390 0x1; + local-mac-address = [ 00 01 02 03 04 07 ]; + interrupts = 32 8; + interrupt-parent = PIC; + phy-handle = phy0; + linux,network-index = 1; + fsl,cpm-command = 0x12000300; + }; + + /* FCC2 to redundant core unit over backplane */ + ether...@11320 { + device_type = network; + compatible = fsl,cpm2-fcc-enet; + reg = 0x11320 0x20 0x8500 0x100 0x113b0 0x1; + local-mac-address = [ 00 01 02 03 04 08 ]; + interrupts = 33 8; + interrupt-parent = PIC; + phy-handle = phy1; + linux,network-index = 2; + fsl,cpm-command = 0x16200300; + }; }; PIC: interrupt-control...@10c00 { diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig index 31e1df6..a6fe6b0 100644 --- a/arch/powerpc/configs/mgcoge_defconfig +++ b/arch/powerpc/configs/mgcoge_defconfig @@ -1,25 +1,27 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.30-rc3 -# Wed May 13 17:21:55 2009 +# Linux kernel version: 2.6.31-rc4 +# Wed Jul 29 08:57:10 2009 # # CONFIG_PPC64 is not set # # Processor support # -CONFIG_6xx=y +CONFIG_PPC_BOOK3S_32=y # CONFIG_PPC_85xx is not set # CONFIG_PPC_8xx is not set # CONFIG_40x is not set # CONFIG_44x is not set # CONFIG_E200 is not set CONFIG_PPC_BOOK3S=y +CONFIG_6xx=y CONFIG_PPC_FPU=y # CONFIG_ALTIVEC is not set CONFIG_PPC_STD_MMU=y CONFIG_PPC_STD_MMU_32=y # CONFIG_PPC_MM_SLICES is not set +CONFIG_PPC_HAVE_PMU_SUPPORT=y # CONFIG_SMP is not set CONFIG_PPC32=y CONFIG_WORD_SIZE=32 @@ -30,15 +32,16 @@ CONFIG_GENERIC_TIME=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
Re: 82xx, mgcoge: updates for 2.6.32
On Wed, Jul 29, 2009 at 10:32:30AM +0200, Heiko Schocher wrote: [snip] + m...@10d40 { + device_type = mdio; Drop this device_type. + compatible = fsl,cpm2-mdio-bitbang; + reg = 0x10d00 0x14; + #address-cells = 1; + #size-cells = 0; + fsl,mdio-pin = 12; + fsl,mdc-pin = 13; + + phy0: ethernet-...@0 { + reg = 0x0; + device_type = ethernet-phy; And this one, too. + }; + + phy1: ethernet-...@1 { + reg = 0x1; + device_type = ethernet-phy; + }; + }; -- David Gibson| I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: 82xx, mgcoge: updates for 2.6.32
On Jul 29, 2009, at 3:32 AM, Heiko Schocher wrote: - add I2C support - add FCC1 and FCC2 support - fix bogus gpio numbering in plattformcode Signed-off-by: Heiko Schocher h...@denx.de --- - based on git://git.kernel.org/pub/scm/linux/kernel/git/benh/ powerpc.git next branch - checked with checkpatch.pl: $ ./scripts/checkpatch.pl 0001-82xx-mgcoge-updates-for-2.6.32.patch total: 0 errors, 0 warnings, 531 lines checked 0001-82xx-mgcoge-updates-for-2.6.32.patch has no obvious style problems and is ready for submission. $ BTW: Who is PPC82XX Maintainer? I couldn;t find such an entry in the MAINTAINERS file ... its me. arch/powerpc/boot/dts/mgcoge.dts | 56 ++ arch/powerpc/configs/mgcoge_defconfig | 178 +--- Can we hold off or pull the defconfig update into a separate patch. I normally update defconfigs in a late -rc series and that will probably generate merge conflicts. arch/powerpc/platforms/82xx/mgcoge.c | 69 +++-- 3 files changed, 255 insertions(+), 48 deletions(-) - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Next July 29 : Hugetlb test failure (OOPS free_hugepte_range)
While executing hugetlb tests against today's Next tree on a Power 6 box came across following OOPS. [ cut here ] Oops: Exception in kernel mode, sig: 5 [#1] SMP NR_CPUS=1024 NUMA pSeries Modules linked in: ipv6 fuse loop dm_mod ehea sg sd_mod crc_t10dif ibmvscsic scsi_transport_srp scsi_tgt scsi_mod NIP: c003e794 LR: c003e9ec CTR: bba4 REGS: c0006a72b5d0 TRAP: 0700 Not tainted (2.6.31-rc4-autotest-next-20090729-5-ppc64) MSR: 80029032 EE,ME,CE,IR,DR CR: 2204 XER: 0001 TASK = c00069c00180[1115] 'readback' THREAD: c0006a728000 CPU: 2 GPR00: 0001 c0006a72b850 c0a93190 c0006f6f04d0 GPR04: c0006b810001 0008 0400 GPR08: c0006ece0ca8 c0006a137ff8 c0006ece0ca8 0018 GPR12: 42000448 c0b72800 GPR16: 477555d0 0001 03ff GPR20: 0400 0100 0400 GPR24: c0006f6f04d0 03ff 0007 c0006cdc28d0 GPR28: 0400 03fff000 c0006a137ff8 0400 NIP [c003e794] .free_hugepte_range+0x44/0x68 LR [c003e9ec] .hugetlb_free_pgd_range+0x234/0x374 Call Trace: [c0006a72b850] [175c08000393] 0x175c08000393 (unreliable) [c0006a72b8c0] [c003e9ec] .hugetlb_free_pgd_range+0x234/0x374 [c0006a72b9b0] [c013742c] .free_pgtables+0x90/0x140 [c0006a72ba60] [c01393c4] .exit_mmap+0x12c/0x1b8 [c0006a72bb10] [c008d460] .mmput+0x54/0x14c [c0006a72bba0] [c0092428] .exit_mm+0x17c/0x1a0 [c0006a72bc50] [c009481c] .do_exit+0x204/0x774 [c0006a72bd30] [c0094e40] .do_group_exit+0xb4/0xe8 [c0006a72bdc0] [c0094e88] .SyS_exit_group+0x14/0x28 [c0006a72be30] [c00085b4] syscall_exit+0x0/0x40 Instruction dump: 6881 780007e0 0b00 38a50001 3800 7ca507b4 f809 3801 2f850007 9003000c 7c101026 5400f7fe 0b00 78840724 7ca42378 4bff8ed5 next-20090728 worked fine. Last commit that changed arch/powerpc/mm/hugetlbpage.c was cb7f3f2d92d1b26c13e30e639b6ee4a78e9a3afa powerpc: Add memory management headers for new 64-bit BookE I will try reverting that commit and check if that helps. Thanks -Sachin -- - Sachin Sant IBM Linux Technology Center India Systems and Technology Labs Bangalore, India - ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 1/7] spi: Add support for device table matching
With this patch spi drivers can use standard spi_driver.id_table and MODULE_DEVICE_TABLE() mechanisms to bind against the devices. Just like we do with I2C drivers. This is useful when a single driver supports several variants of devices but it is not possible to detect them in run-time (like non-JEDEC chips probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is overkill. This patch also makes life a lot easier on OpenFirmware platforms, since with OF we extensively use proper device IDs in modaliases. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/spi/spi.c | 26 +- include/linux/mod_devicetable.h | 13 + include/linux/spi/spi.h | 10 -- scripts/mod/file2alias.c| 13 + 4 files changed, 59 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 70845cc..1431bf2 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -59,9 +59,24 @@ static struct device_attribute spi_dev_attrs[] = { * and the sysfs version makes coldplug work too. */ +static const struct spi_device_id *spi_match_id(const struct spi_device_id *id, + const struct spi_device *sdev) +{ + while (id-name[0]) { + if (!strcmp(sdev-modalias, id-name)) + return id; + id++; + } + return NULL; +} + static int spi_match_device(struct device *dev, struct device_driver *drv) { const struct spi_device *spi = to_spi_device(dev); + const struct spi_driver *sdrv = to_spi_driver(drv); + + if (sdrv-id_table) + return !!spi_match_id(sdrv-id_table, spi); return strcmp(spi-modalias, drv-name) == 0; } @@ -121,6 +136,13 @@ struct bus_type spi_bus_type = { }; EXPORT_SYMBOL_GPL(spi_bus_type); +static int spi_drv_probe_id(struct device *dev) +{ + const struct spi_driver *sdrv = to_spi_driver(dev-driver); + struct spi_device *sdev = to_spi_device(dev); + + return sdrv-probe_id(sdev, spi_match_id(sdrv-id_table, sdev)); +} static int spi_drv_probe(struct device *dev) { @@ -151,7 +173,9 @@ static void spi_drv_shutdown(struct device *dev) int spi_register_driver(struct spi_driver *sdrv) { sdrv-driver.bus = spi_bus_type; - if (sdrv-probe) + if (sdrv-probe_id) + sdrv-driver.probe = spi_drv_probe_id; + else if (sdrv-probe) sdrv-driver.probe = spi_drv_probe; if (sdrv-remove) sdrv-driver.remove = spi_drv_remove; diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 1bf5900..9660dca 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -399,6 +399,19 @@ struct i2c_device_id { __attribute__((aligned(sizeof(kernel_ulong_t; }; +/* spi */ + +#define SPI_NAME_SIZE 20 + +struct spi_device_id { + char name[SPI_NAME_SIZE]; +#ifdef __KERNEL__ + void *data; +#else + kernel_ulong_t data; +#endif +}; + /* dmi */ enum dmi_field { DMI_NONE, diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index c47c4b4..c8d92a1 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h @@ -20,6 +20,7 @@ #define __LINUX_SPI_H #include linux/device.h +#include linux/mod_devicetable.h /* * INTERFACES between SPI master-side drivers and SPI infrastructure. @@ -86,7 +87,7 @@ struct spi_device { int irq; void*controller_state; void*controller_data; - charmodalias[32]; + charmodalias[SPI_NAME_SIZE]; /* * likely need more hooks for more protocol options affecting how @@ -145,6 +146,8 @@ struct spi_message; /** * struct spi_driver - Host side protocol driver + * @id_table: List of SPI devices supported by this driver + * @probe_id: Binds this driver to the spi device via id_table matching. * @probe: Binds this driver to the spi device. Drivers can verify * that the device is actually present, and may need to configure * characteristics (such as bits_per_word) which weren't needed for @@ -170,6 +173,9 @@ struct spi_message; * MMC, RTC, filesystem character device nodes, and hardware monitoring. */ struct spi_driver { + const struct spi_device_id *id_table; + int (*probe_id)(struct spi_device *spi, + const struct spi_device_id *id); int (*probe)(struct spi_device *spi); int (*remove)(struct spi_device *spi); void(*shutdown)(struct spi_device *spi); @@ -732,7 +738,7 @@ struct spi_board_info { * controller_data goes to spi_device.controller_data, * irq is copied
[PATCH 2/7] mtd: m25p80: Convert to device table matching
This patch converts the m25p80 driver so that now it uses .id_table for device matching, making it properly detect devices on OpenFirmware platforms (prior to this patch the driver misdetected non-JEDEC chips, seeing all chips as m25p80). Also, now jedec_probe() only does jedec probing, nothing else. If it is not able to detect a chip, NULL is returned and the driver fall backs to the information specified by the platform (platform_data, or exact ID). Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/mtd/devices/m25p80.c | 152 +++--- 1 files changed, 84 insertions(+), 68 deletions(-) diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 10ed195..7c3efff 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -21,6 +21,7 @@ #include linux/interrupt.h #include linux/mutex.h #include linux/math64.h +#include linux/mod_devicetable.h #include linux/mtd/mtd.h #include linux/mtd/partitions.h @@ -462,8 +463,6 @@ static int m25p80_write(struct mtd_info *mtd, loff_t to, size_t len, */ struct flash_info { - char*name; - /* JEDEC id zero means no ID (most older chips); otherwise it has * a high byte of zero plus three data bytes: the manufacturer id, * then a two byte device id. @@ -481,74 +480,83 @@ struct flash_info { #defineSECT_4K 0x01/* OPCODE_BE_4K works uniformly */ }; +#define INFO(_jedec_id, _ext_id, _sector_size, _n_sectors, _flags) \ + ((struct flash_info) { \ + .jedec_id = (_jedec_id),\ + .ext_id = (_ext_id),\ + .sector_size = (_sector_size), \ + .n_sectors = (_n_sectors), \ + .flags = (_flags), \ + }) /* NOTE: double check command sets and memory organization when you add * more flash chips. This current list focusses on newer chips, which * have been converging on command sets which including JEDEC ID. */ -static struct flash_info __devinitdata m25p_data [] = { - +static const struct spi_device_id m25p_ids[] = { /* Atmel -- some are (confusingly) marketed as DataFlash */ - { at25fs010, 0x1f6601, 0, 32 * 1024, 4, SECT_4K, }, - { at25fs040, 0x1f6604, 0, 64 * 1024, 8, SECT_4K, }, + { at25fs010, INFO(0x1f6601, 0, 32 * 1024, 4, SECT_4K) }, + { at25fs040, INFO(0x1f6604, 0, 64 * 1024, 8, SECT_4K) }, - { at25df041a, 0x1f4401, 0, 64 * 1024, 8, SECT_4K, }, - { at25df641, 0x1f4800, 0, 64 * 1024, 128, SECT_4K, }, + { at25df041a, INFO(0x1f4401, 0, 64 * 1024, 8, SECT_4K) }, + { at25df641, INFO(0x1f4800, 0, 64 * 1024, 128, SECT_4K) }, - { at26f004, 0x1f0400, 0, 64 * 1024, 8, SECT_4K, }, - { at26df081a, 0x1f4501, 0, 64 * 1024, 16, SECT_4K, }, - { at26df161a, 0x1f4601, 0, 64 * 1024, 32, SECT_4K, }, - { at26df321, 0x1f4701, 0, 64 * 1024, 64, SECT_4K, }, + { at26f004, INFO(0x1f0400, 0, 64 * 1024, 8, SECT_4K) }, + { at26df081a, INFO(0x1f4501, 0, 64 * 1024, 16, SECT_4K) }, + { at26df161a, INFO(0x1f4601, 0, 64 * 1024, 32, SECT_4K) }, + { at26df321, INFO(0x1f4701, 0, 64 * 1024, 64, SECT_4K) }, /* Macronix */ - { mx25l12805d, 0xc22018, 0, 64 * 1024, 256, }, + { mx25l12805d, INFO(0xc22018, 0, 64 * 1024, 256, 0) }, /* Spansion -- single (large) sector size only, at least * for the chips listed here (without boot sectors). */ - { s25sl004a, 0x010212, 0, 64 * 1024, 8, }, - { s25sl008a, 0x010213, 0, 64 * 1024, 16, }, - { s25sl016a, 0x010214, 0, 64 * 1024, 32, }, - { s25sl032a, 0x010215, 0, 64 * 1024, 64, }, - { s25sl064a, 0x010216, 0, 64 * 1024, 128, }, -{ s25sl12800, 0x012018, 0x0300, 256 * 1024, 64, }, - { s25sl12801, 0x012018, 0x0301, 64 * 1024, 256, }, + { s25sl004a, INFO(0x010212, 0, 64 * 1024, 8, 0) }, + { s25sl008a, INFO(0x010213, 0, 64 * 1024, 16, 0) }, + { s25sl016a, INFO(0x010214, 0, 64 * 1024, 32, 0) }, + { s25sl032a, INFO(0x010215, 0, 64 * 1024, 64, 0) }, + { s25sl064a, INFO(0x010216, 0, 64 * 1024, 128, 0) }, + { s25sl12800, INFO(0x012018, 0x0300, 256 * 1024, 64, 0) }, + { s25sl12801, INFO(0x012018, 0x0301, 64 * 1024, 256, 0) }, /* SST -- large erase sizes are overlays, sectors are 4K */ - { sst25vf040b, 0xbf258d, 0, 64 * 1024, 8, SECT_4K, }, - { sst25vf080b, 0xbf258e, 0, 64 * 1024, 16, SECT_4K, }, - { sst25vf016b, 0xbf2541, 0, 64 * 1024, 32, SECT_4K, }, - { sst25vf032b, 0xbf254a, 0, 64 * 1024, 64, SECT_4K, }, + { sst25vf040b, INFO(0xbf258d, 0, 64 * 1024, 8, SECT_4K) }, + { sst25vf080b, INFO(0xbf258e, 0, 64 * 1024, 16, SECT_4K) }, +
[PATCH 3/7] of: Remove stm,m25p40 alias
The alias isn't needed any longer since the m25p80 driver converted to the module device table matching. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/of/base.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c index 69f85c0..ddf224d 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -447,7 +447,6 @@ struct of_modalias_table { static struct of_modalias_table of_modalias_table[] = { { fsl,mcu-mpc8349emitx, mcu-mpc8349emitx }, { mmc-spi-slot, mmc_spi }, - { stm,m25p40, m25p80 }, }; /** -- 1.6.3.3 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] powerpc/44x: Add NAND support to Canyonlands dts
Also some whitespace cleanup in the USB device nodes. Signed-off-by: Stefan Roese s...@denx.de --- arch/powerpc/boot/dts/canyonlands.dts | 49 - 1 files changed, 36 insertions(+), 13 deletions(-) diff --git a/arch/powerpc/boot/dts/canyonlands.dts b/arch/powerpc/boot/dts/canyonlands.dts index 5fd1ad0..c920170 100644 --- a/arch/powerpc/boot/dts/canyonlands.dts +++ b/arch/powerpc/boot/dts/canyonlands.dts @@ -1,7 +1,7 @@ /* * Device Tree Source for AMCC Canyonlands (460EX) * - * Copyright 2008 DENX Software Engineering, Stefan Roese s...@denx.de + * Copyright 2008-2009 DENX Software Engineering, Stefan Roese s...@denx.de * * This file is licensed under the terms of the GNU General Public * License version 2. This program is licensed as is without @@ -149,19 +149,19 @@ /*RXDE*/ 0x5 0x4; }; -USB0: e...@bffd0400 { -compatible = ibm,usb-ehci-460ex, usb-ehci; -interrupt-parent = UIC2; -interrupts = 0x1d 4; -reg = 4 0xbffd0400 0x90 4 0xbffd0490 0x70; -}; + USB0: e...@bffd0400 { + compatible = ibm,usb-ehci-460ex, usb-ehci; + interrupt-parent = UIC2; + interrupts = 0x1d 4; + reg = 4 0xbffd0400 0x90 4 0xbffd0490 0x70; + }; -USB1: u...@bffd { -compatible = ohci-le; -reg = 4 0xbffd 0x60; -interrupt-parent = UIC2; -interrupts = 0x1e 4; -}; + USB1: u...@bffd { + compatible = ohci-le; + reg = 4 0xbffd 0x60; + interrupt-parent = UIC2; + interrupts = 0x1e 4; + }; POB0: opb { compatible = ibm,opb-460ex, ibm,opb; @@ -215,6 +215,29 @@ reg = 0x03fa 0x0006; }; }; + + n...@3,0 { + compatible = ibm,ndfc; + reg = 0x0003 0x 0x2000; + ccr = 0x1000; + bank-settings = 0x8000; + #address-cells = 1; + #size-cells = 1; + + nand { + #address-cells = 1; + #size-cells = 1; + + partit...@0 { + label = u-boot; + reg = 0x 0x0010; + }; + partit...@10 { + label = user; + reg = 0x 0x03f0; + }; + }; + }; }; UART0: ser...@ef600300 { -- 1.6.3.4 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 4/7] spi: Prefix modalias with spi:
This makes it consistent with other buses (platform, i2c, vio, ...). I'm not sure why we use the prefixes, but there must be a reason. This was easy enough to do it, and I did it. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/gpio/max7301.c |1 + drivers/gpio/mcp23s08.c|1 + drivers/hwmon/adcxx.c |8 drivers/hwmon/lis3lv02d_spi.c |2 +- drivers/hwmon/lm70.c |2 ++ drivers/hwmon/max.c|1 + drivers/input/touchscreen/ad7877.c |1 + drivers/input/touchscreen/ad7879.c |1 + drivers/input/touchscreen/ads7846.c|1 + drivers/leds/leds-dac124s085.c |1 + drivers/mfd/ezx-pcap.c |1 + drivers/misc/eeprom/at25.c |2 +- drivers/mmc/host/mmc_spi.c |1 + drivers/mtd/devices/mtd_dataflash.c|1 + drivers/net/enc28j60.c |1 + drivers/net/ks8851.c |1 + drivers/net/wireless/libertas/if_spi.c |1 + drivers/net/wireless/p54/p54spi.c |1 + drivers/net/wireless/wl12xx/main.c |1 + drivers/rtc/rtc-ds1305.c |1 + drivers/rtc/rtc-ds1390.c |1 + drivers/rtc/rtc-ds3234.c |1 + drivers/rtc/rtc-m41t94.c |1 + drivers/rtc/rtc-max6902.c |1 + drivers/rtc/rtc-r9701.c|1 + drivers/rtc/rtc-rs5c348.c |1 + drivers/serial/max3100.c |1 + drivers/spi/spi.c |3 ++- drivers/spi/spidev.c |1 + drivers/spi/tle62x0.c |1 + drivers/staging/stlc45xx/stlc45xx.c|1 + drivers/video/backlight/corgi_lcd.c|1 + drivers/video/backlight/ltv350qv.c |1 + drivers/video/backlight/tdo24m.c |1 + drivers/video/backlight/tosa_lcd.c |2 +- drivers/video/backlight/vgg2432a4.c|3 +-- include/linux/mod_devicetable.h|1 + scripts/mod/file2alias.c |4 ++-- 38 files changed, 44 insertions(+), 12 deletions(-) diff --git a/drivers/gpio/max7301.c b/drivers/gpio/max7301.c index 7b82eaa..480956f 100644 --- a/drivers/gpio/max7301.c +++ b/drivers/gpio/max7301.c @@ -339,3 +339,4 @@ module_exit(max7301_exit); MODULE_AUTHOR(Juergen Beisert); MODULE_LICENSE(GPL v2); MODULE_DESCRIPTION(MAX7301 SPI based GPIO-Expander); +MODULE_ALIAS(spi: DRIVER_NAME); diff --git a/drivers/gpio/mcp23s08.c b/drivers/gpio/mcp23s08.c index f6fae0e..c6c7aa1 100644 --- a/drivers/gpio/mcp23s08.c +++ b/drivers/gpio/mcp23s08.c @@ -433,3 +433,4 @@ static void __exit mcp23s08_exit(void) module_exit(mcp23s08_exit); MODULE_LICENSE(GPL); +MODULE_ALIAS(spi:mcp23s08); diff --git a/drivers/hwmon/adcxx.c b/drivers/hwmon/adcxx.c index 242294d..7a89fba 100644 --- a/drivers/hwmon/adcxx.c +++ b/drivers/hwmon/adcxx.c @@ -323,7 +323,7 @@ MODULE_AUTHOR(Marc Pignat); MODULE_DESCRIPTION(National Semiconductor adcxx8sxxx Linux driver); MODULE_LICENSE(GPL); -MODULE_ALIAS(adcxx1s); -MODULE_ALIAS(adcxx2s); -MODULE_ALIAS(adcxx4s); -MODULE_ALIAS(adcxx8s); +MODULE_ALIAS(spi:adcxx1s); +MODULE_ALIAS(spi:adcxx2s); +MODULE_ALIAS(spi:adcxx4s); +MODULE_ALIAS(spi:adcxx8s); diff --git a/drivers/hwmon/lis3lv02d_spi.c b/drivers/hwmon/lis3lv02d_spi.c index 3827ff0..b7aed07 100644 --- a/drivers/hwmon/lis3lv02d_spi.c +++ b/drivers/hwmon/lis3lv02d_spi.c @@ -112,4 +112,4 @@ module_exit(lis302dl_exit); MODULE_AUTHOR(Daniel Mack dan...@caiaq.de); MODULE_DESCRIPTION(lis3lv02d SPI glue layer); MODULE_LICENSE(GPL); - +MODULE_ALIAS(spi: DRV_NAME); diff --git a/drivers/hwmon/lm70.c b/drivers/hwmon/lm70.c index ae6204f..d55cc7c 100644 --- a/drivers/hwmon/lm70.c +++ b/drivers/hwmon/lm70.c @@ -244,3 +244,5 @@ module_exit(cleanup_lm70); MODULE_AUTHOR(Kaiwan N Billimoria); MODULE_DESCRIPTION(NS LM70 / TI TMP121/TMP123 Linux driver); MODULE_LICENSE(GPL); +MODULE_ALIAS(spi:tmp121); +MODULE_ALIAS(spi:lm70); diff --git a/drivers/hwmon/max.c b/drivers/hwmon/max.c index bfaa665..9ac4972 100644 --- a/drivers/hwmon/max.c +++ b/drivers/hwmon/max.c @@ -242,3 +242,4 @@ module_exit(max_exit); MODULE_AUTHOR(Eric Miao eric.m...@marvell.com); MODULE_DESCRIPTION(MAX ADC Driver); MODULE_LICENSE(GPL); +MODULE_ALIAS(spi:max); diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c index ecaeb7e..eb83939 100644 --- a/drivers/input/touchscreen/ad7877.c +++ b/drivers/input/touchscreen/ad7877.c @@ -842,3 +842,4 @@ module_exit(ad7877_exit); MODULE_AUTHOR(Michael Hennerich henner...@blackfin.uclinux.org); MODULE_DESCRIPTION(AD7877 touchscreen Driver); MODULE_LICENSE(GPL); +MODULE_ALIAS(spi:ad7877); diff --git a/drivers/input/touchscreen/ad7879.c b/drivers/input/touchscreen/ad7879.c index 5d8a703..19b4db7 100644 --- a/drivers/input/touchscreen/ad7879.c +++ b/drivers/input/touchscreen/ad7879.c @@ -779,3 +779,4
[PATCH 5/7] spi: Merge probe and probe_id callbacks
The probe_id callback was introduced for the transition period as a new-style probe hook. This patch makes probe() look exactly as probe_id(), converts drivers and removes probe_id(). Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/gpio/max7301.c |3 ++- drivers/gpio/mcp23s08.c|3 ++- drivers/hwmon/adcxx.c | 12 drivers/hwmon/lis3lv02d_spi.c |3 ++- drivers/hwmon/lm70.c |6 -- drivers/hwmon/max.c|3 ++- drivers/input/touchscreen/ad7877.c |3 ++- drivers/input/touchscreen/ad7879.c |3 ++- drivers/input/touchscreen/ads7846.c|3 ++- drivers/leds/leds-dac124s085.c |3 ++- drivers/mfd/ezx-pcap.c |3 ++- drivers/misc/eeprom/at25.c |2 +- drivers/mmc/host/mmc_spi.c |3 ++- drivers/mtd/devices/m25p80.c |2 +- drivers/mtd/devices/mtd_dataflash.c|3 ++- drivers/net/enc28j60.c |3 ++- drivers/net/ks8851.c |3 ++- drivers/net/wireless/libertas/if_spi.c |3 ++- drivers/net/wireless/p54/p54spi.c |3 ++- drivers/net/wireless/wl12xx/main.c |3 ++- drivers/rtc/rtc-ds1305.c |3 ++- drivers/rtc/rtc-ds1390.c |3 ++- drivers/rtc/rtc-ds3234.c |3 ++- drivers/rtc/rtc-m41t94.c |3 ++- drivers/rtc/rtc-max6902.c |3 ++- drivers/rtc/rtc-r9701.c|3 ++- drivers/rtc/rtc-rs5c348.c |3 ++- drivers/serial/max3100.c |3 ++- drivers/spi/spi.c | 15 +++ drivers/spi/spidev.c |2 +- drivers/spi/tle62x0.c |3 ++- drivers/staging/stlc45xx/stlc45xx.c|3 ++- drivers/video/backlight/corgi_lcd.c|3 ++- drivers/video/backlight/ltv350qv.c |3 ++- drivers/video/backlight/tdo24m.c |3 ++- drivers/video/backlight/tosa_lcd.c |3 ++- drivers/video/backlight/vgg2432a4.c|3 ++- include/linux/spi/spi.h|6 ++ 38 files changed, 82 insertions(+), 56 deletions(-) diff --git a/drivers/gpio/max7301.c b/drivers/gpio/max7301.c index 480956f..c92cff6 100644 --- a/drivers/gpio/max7301.c +++ b/drivers/gpio/max7301.c @@ -210,7 +210,8 @@ static void max7301_set(struct gpio_chip *chip, unsigned offset, int value) mutex_unlock(ts-lock); } -static int __devinit max7301_probe(struct spi_device *spi) +static int __devinit max7301_probe(struct spi_device *spi, + const struct spi_device_id *id) { struct max7301 *ts; struct max7301_platform_data *pdata; diff --git a/drivers/gpio/mcp23s08.c b/drivers/gpio/mcp23s08.c index c6c7aa1..2a99eea 100644 --- a/drivers/gpio/mcp23s08.c +++ b/drivers/gpio/mcp23s08.c @@ -300,7 +300,8 @@ fail: return status; } -static int mcp23s08_probe(struct spi_device *spi) +static int mcp23s08_probe(struct spi_device *spi, + const struct spi_device_id *id) { struct mcp23s08_platform_data *pdata; unsignedaddr; diff --git a/drivers/hwmon/adcxx.c b/drivers/hwmon/adcxx.c index 7a89fba..b01c0d5 100644 --- a/drivers/hwmon/adcxx.c +++ b/drivers/hwmon/adcxx.c @@ -204,22 +204,26 @@ out_err: return status; } -static int __devinit adcxx1s_probe(struct spi_device *spi) +static int __devinit adcxx1s_probe(struct spi_device *spi, + const struct spi_device_id *id) { return adcxx_probe(spi, 1); } -static int __devinit adcxx2s_probe(struct spi_device *spi) +static int __devinit adcxx2s_probe(struct spi_device *spi, + const struct spi_device_id *id) { return adcxx_probe(spi, 2); } -static int __devinit adcxx4s_probe(struct spi_device *spi) +static int __devinit adcxx4s_probe(struct spi_device *spi, + const struct spi_device_id *id) { return adcxx_probe(spi, 4); } -static int __devinit adcxx8s_probe(struct spi_device *spi) +static int __devinit adcxx8s_probe(struct spi_device *spi, + const struct spi_device_id *id) { return adcxx_probe(spi, 8); } diff --git a/drivers/hwmon/lis3lv02d_spi.c b/drivers/hwmon/lis3lv02d_spi.c index b7aed07..478b1d4 100644 --- a/drivers/hwmon/lis3lv02d_spi.c +++ b/drivers/hwmon/lis3lv02d_spi.c @@ -56,7 +56,8 @@ static int lis3_spi_init(struct lis3lv02d *lis3) static struct axis_conversion lis3lv02d_axis_normal = { 1, 2, 3 }; -static int __devinit lis302dl_spi_probe(struct spi_device *spi) +static int __devinit lis302dl_spi_probe(struct spi_device *spi, + const struct spi_device_id *id) { int ret; diff --git a/drivers/hwmon/lm70.c b/drivers/hwmon/lm70.c index
[PATCH 6/7] hwmon: adxx: Convert to device table matching
This patch makes the code a little bit nicer, and shorter. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/hwmon/adcxx.c | 106 - 1 files changed, 17 insertions(+), 89 deletions(-) diff --git a/drivers/hwmon/adcxx.c b/drivers/hwmon/adcxx.c index b01c0d5..6b3b057 100644 --- a/drivers/hwmon/adcxx.c +++ b/drivers/hwmon/adcxx.c @@ -43,6 +43,7 @@ #include linux/hwmon.h #include linux/hwmon-sysfs.h #include linux/mutex.h +#include linux/mod_devicetable.h #include linux/spi/spi.h #define DRVNAMEadcxx @@ -157,8 +158,10 @@ static struct sensor_device_attribute ad_input[] = { /*--*/ -static int __devinit adcxx_probe(struct spi_device *spi, int channels) +static int __devinit adcxx_probe(struct spi_device *spi, +const struct spi_device_id *id) { + int channels = (int)id-data; struct adcxx *adc; int status; int i; @@ -204,30 +207,6 @@ out_err: return status; } -static int __devinit adcxx1s_probe(struct spi_device *spi, - const struct spi_device_id *id) -{ - return adcxx_probe(spi, 1); -} - -static int __devinit adcxx2s_probe(struct spi_device *spi, - const struct spi_device_id *id) -{ - return adcxx_probe(spi, 2); -} - -static int __devinit adcxx4s_probe(struct spi_device *spi, - const struct spi_device_id *id) -{ - return adcxx_probe(spi, 4); -} - -static int __devinit adcxx8s_probe(struct spi_device *spi, - const struct spi_device_id *id) -{ - return adcxx_probe(spi, 8); -} - static int __devexit adcxx_remove(struct spi_device *spi) { struct adcxx *adc = dev_get_drvdata(spi-dev); @@ -245,79 +224,33 @@ static int __devexit adcxx_remove(struct spi_device *spi) return 0; } -static struct spi_driver adcxx1s_driver = { - .driver = { - .name = adcxx1s, - .owner = THIS_MODULE, - }, - .probe = adcxx1s_probe, - .remove = __devexit_p(adcxx_remove), +static const struct spi_device_id adcxx_ids[] = { + { adcxx1s, (void *)1 }, + { adcxx2s, (void *)2 }, + { adcxx4s, (void *)4 }, + { adcxx8s, (void *)8 }, + { }, }; +MODULE_DEVICE_TABLE(spi, adcxx_ids); -static struct spi_driver adcxx2s_driver = { +static struct spi_driver adcxx_driver = { .driver = { - .name = adcxx2s, + .name = adcxx, .owner = THIS_MODULE, }, - .probe = adcxx2s_probe, - .remove = __devexit_p(adcxx_remove), -}; - -static struct spi_driver adcxx4s_driver = { - .driver = { - .name = adcxx4s, - .owner = THIS_MODULE, - }, - .probe = adcxx4s_probe, - .remove = __devexit_p(adcxx_remove), -}; - -static struct spi_driver adcxx8s_driver = { - .driver = { - .name = adcxx8s, - .owner = THIS_MODULE, - }, - .probe = adcxx8s_probe, + .id_table = adcxx_ids, + .probe = adcxx_probe, .remove = __devexit_p(adcxx_remove), }; static int __init init_adcxx(void) { - int status; - status = spi_register_driver(adcxx1s_driver); - if (status) - goto reg_1_failed; - - status = spi_register_driver(adcxx2s_driver); - if (status) - goto reg_2_failed; - - status = spi_register_driver(adcxx4s_driver); - if (status) - goto reg_4_failed; - - status = spi_register_driver(adcxx8s_driver); - if (status) - goto reg_8_failed; - - return status; - -reg_8_failed: - spi_unregister_driver(adcxx4s_driver); -reg_4_failed: - spi_unregister_driver(adcxx2s_driver); -reg_2_failed: - spi_unregister_driver(adcxx1s_driver); -reg_1_failed: - return status; + return spi_register_driver(adcxx_driver); } static void __exit exit_adcxx(void) { - spi_unregister_driver(adcxx1s_driver); - spi_unregister_driver(adcxx2s_driver); - spi_unregister_driver(adcxx4s_driver); - spi_unregister_driver(adcxx8s_driver); + spi_unregister_driver(adcxx_driver); } module_init(init_adcxx); @@ -326,8 +259,3 @@ module_exit(exit_adcxx); MODULE_AUTHOR(Marc Pignat); MODULE_DESCRIPTION(National Semiconductor adcxx8sxxx Linux driver); MODULE_LICENSE(GPL); - -MODULE_ALIAS(spi:adcxx1s); -MODULE_ALIAS(spi:adcxx2s); -MODULE_ALIAS(spi:adcxx4s); -MODULE_ALIAS(spi:adcxx8s); -- 1.6.3.3 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] powerpc/44x: Update Canyonlands defconfig to support NOR, NAND and RTC
This patch adds support for the following devices to the Canyonlands defconfig file: - NOR FLASH - PPC4xx NAND controller (NDFC) - I2C RTC (M41T80) Signed-off-by: Stefan Roese s...@denx.de --- arch/powerpc/configs/44x/canyonlands_defconfig | 350 1 files changed, 297 insertions(+), 53 deletions(-) diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig index 5e85412..b312b16 100644 --- a/arch/powerpc/configs/44x/canyonlands_defconfig +++ b/arch/powerpc/configs/44x/canyonlands_defconfig @@ -1,14 +1,14 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.29-rc3 -# Mon Feb 2 13:13:04 2009 +# Linux kernel version: 2.6.31-rc4 +# Wed Jul 29 17:27:20 2009 # # CONFIG_PPC64 is not set # # Processor support # -# CONFIG_6xx is not set +# CONFIG_PPC_BOOK3S_32 is not set # CONFIG_PPC_85xx is not set # CONFIG_PPC_8xx is not set # CONFIG_40x is not set @@ -31,15 +31,16 @@ CONFIG_GENERIC_TIME=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set CONFIG_IRQ_PER_CPU=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_ARCH_HAS_ILOG2_U32=y CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_FIND_NEXT_BIT=y # CONFIG_ARCH_NO_VIRT_TO_BUS is not set CONFIG_PPC=y @@ -53,11 +54,14 @@ CONFIG_PPC_UDBG_16550=y # CONFIG_GENERIC_TBSYNC is not set CONFIG_AUDIT_ARCH=y CONFIG_GENERIC_BUG=y +CONFIG_DTC=y # CONFIG_DEFAULT_UIMAGE is not set CONFIG_PPC_DCR_NATIVE=y # CONFIG_PPC_DCR_MMIO is not set CONFIG_PPC_DCR=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config +CONFIG_CONSTRUCTORS=y # # General setup @@ -71,6 +75,7 @@ CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_AUDIT is not set @@ -93,8 +98,12 @@ CONFIG_SYSFS_DEPRECATED_V2=y # CONFIG_NAMESPACES is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE= +CONFIG_RD_GZIP=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y CONFIG_EMBEDDED=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y @@ -104,23 +113,30 @@ CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y -CONFIG_COMPAT_BRK=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y -CONFIG_ANON_INODES=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y +CONFIG_HAVE_PERF_COUNTERS=y + +# +# Performance Counters +# +# CONFIG_PERF_COUNTERS is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y CONFIG_SLUB_DEBUG=y +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y @@ -128,6 +144,12 @@ CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# CONFIG_SLOW_WORK is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y @@ -139,8 +161,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_BLOCK=y -CONFIG_LBD=y -# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LBDAF=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_INTEGRITY is not set @@ -176,6 +197,7 @@ CONFIG_PPC4xx_PCI_EXPRESS=y # CONFIG_ARCHES is not set CONFIG_CANYONLANDS=y # CONFIG_GLACIER is not set +# CONFIG_REDWOOD is not set # CONFIG_YOSEMITE is not set # CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set CONFIG_PPC44x_SIMPLE=y @@ -218,6 +240,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # CONFIG_MATH_EMULATION is not set # CONFIG_IOMMU_HELPER is not set +# CONFIG_SWIOTLB is not set CONFIG_PPC_NEED_DMA_SYNC_OPS=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_HAS_WALK_MEMORY=y @@ -237,10 +260,14 @@ CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y -CONFIG_UNEVICTABLE_LRU=y +CONFIG_HAVE_MLOCK=y +CONFIG_HAVE_MLOCKED_PAGE_BIT=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_STDBINUTILS=y CONFIG_PPC_4K_PAGES=y # CONFIG_PPC_16K_PAGES is not set # CONFIG_PPC_64K_PAGES is not set +# CONFIG_PPC_256K_PAGES is not set CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_PROC_DEVICETREE=y CONFIG_CMDLINE_BOOL=y @@ -265,6 +292,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y # CONFIG_PCI_LEGACY is not set # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set #
[PATCH 7/7] hwmon: lm70: Convert to device table matching
This patch makes the code a little bit nicer, and shorter. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/hwmon/lm70.c | 58 + 1 files changed, 20 insertions(+), 38 deletions(-) diff --git a/drivers/hwmon/lm70.c b/drivers/hwmon/lm70.c index 3953c22..b4be110 100644 --- a/drivers/hwmon/lm70.c +++ b/drivers/hwmon/lm70.c @@ -32,6 +32,7 @@ #include linux/sysfs.h #include linux/hwmon.h #include linux/mutex.h +#include linux/mod_devicetable.h #include linux/spi/spi.h @@ -130,11 +131,21 @@ static DEVICE_ATTR(name, S_IRUGO, lm70_show_name, NULL); /*--*/ -static int __devinit common_probe(struct spi_device *spi, int chip) +static int __devinit lm70_probe(struct spi_device *spi, + const struct spi_device_id *id) { + int chip = (int)id-data; struct lm70 *p_lm70; int status; + /* signaling is SPI_MODE_0 for both LM70 and TMP121 */ + if (spi-mode (SPI_CPOL | SPI_CPHA)) + return -EINVAL; + + /* 3-wire link (shared SI/SO) for LM70 */ + if (chip == LM70_CHIP_LM70 !(spi-mode SPI_3WIRE)) + return -EINVAL; + /* NOTE: we assume 8-bit words, and convert to 16 bits manually */ p_lm70 = kzalloc(sizeof *p_lm70, GFP_KERNEL); @@ -170,26 +181,6 @@ out_dev_reg_failed: return status; } -static int __devinit lm70_probe(struct spi_device *spi, - const struct spi_device_id *id) -{ - /* signaling is SPI_MODE_0 on a 3-wire link (shared SI/SO) */ - if ((spi-mode (SPI_CPOL | SPI_CPHA)) || !(spi-mode SPI_3WIRE)) - return -EINVAL; - - return common_probe(spi, LM70_CHIP_LM70); -} - -static int __devinit tmp121_probe(struct spi_device *spi, - const struct spi_device_id *id) -{ - /* signaling is SPI_MODE_0 with only MISO connected */ - if (spi-mode (SPI_CPOL | SPI_CPHA)) - return -EINVAL; - - return common_probe(spi, LM70_CHIP_TMP121); -} - static int __devexit lm70_remove(struct spi_device *spi) { struct lm70 *p_lm70 = dev_get_drvdata(spi-dev); @@ -203,41 +194,32 @@ static int __devexit lm70_remove(struct spi_device *spi) return 0; } -static struct spi_driver tmp121_driver = { - .driver = { - .name = tmp121, - .owner = THIS_MODULE, - }, - .probe = tmp121_probe, - .remove = __devexit_p(lm70_remove), + +static const struct spi_device_id lm70_ids[] = { + { lm70, (void *)LM70_CHIP_LM70 }, + { tmp121, (void *)LM70_CHIP_TMP121 }, + { }, }; +MODULE_DEVICE_TABLE(spi, lm70_ids); static struct spi_driver lm70_driver = { .driver = { .name = lm70, .owner = THIS_MODULE, }, + .id_table = lm70_ids, .probe = lm70_probe, .remove = __devexit_p(lm70_remove), }; static int __init init_lm70(void) { - int ret = spi_register_driver(lm70_driver); - if (ret) - return ret; - - ret = spi_register_driver(tmp121_driver); - if (ret) - spi_unregister_driver(lm70_driver); - - return ret; + return spi_register_driver(lm70_driver); } static void __exit cleanup_lm70(void) { spi_unregister_driver(lm70_driver); - spi_unregister_driver(tmp121_driver); } module_init(init_lm70); -- 1.6.3.3 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: BUG in dma-mapping.h:218 // MESH SCSI driver not working
Hello, Benjamin Herrenschmidt schreef: On Fri, 2009-07-24 at 00:18 +0200, Stef Simoens wrote: I tried the latest 2.6.31-rc3-git3 (without any other patch). However, I have the same behaviour as the patched 2.6.30 (so: no BUG, but the mesh_abort messages). Would it be possible for you to roughly find out at what kernel version it stopped working ? (Some kernels may need my patch to avoid crashing) 2.6.29 works OK 2.6.30-rc1 doesn't work (BUG...) 2.6.30-rc1 with your patch ... seems to hang when it should be mounting the root directory. Is it worthwhile doing a git bisect? -- Kind regards, Stef Simoens ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH][sata_fsl] Defer non-ncq commands when ncq commands active
On 07/29/2009 10:03 AM, ashish kalra wrote: From: Ashish Kalra ashish.ka...@freescale.com Date: Wed, 29 Jul 2009 21:15:49 +0530 Fix for non-ncq ncq commands causing timeouts when both are issued simultaneously to the same device. Signed-off-by: Ashish Kalra ashish.ka...@freescale.com --- drivers/ata/sata_fsl.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index 5a88b44..a33f130 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c @@ -1262,6 +1262,7 @@ static struct scsi_host_template sata_fsl_sht = { static struct ata_port_operations sata_fsl_ops = { .inherits = sata_pmp_port_ops, + .qc_defer = ata_std_qc_defer; .qc_prep = sata_fsl_qc_prep, .qc_issue = sata_fsl_qc_issue, .qc_fill_rtf = sata_fsl_qc_fill_rtf, This doesn't look like it should change anything. sata_fsl_ops inherits from sata_pmp_port_ops, which inherits from sata_port_ops, which already sets qc_defer to ata_std_qc_defer. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/7] spi: Add support for device table matching
On Wed, Jul 29, 2009 at 09:04:57PM +0400, Anton Vorontsov wrote: With this patch spi drivers can use standard spi_driver.id_table and MODULE_DEVICE_TABLE() mechanisms to bind against the devices. Just like we do with I2C drivers. This is useful when a single driver supports several variants of devices but it is not possible to detect them in run-time (like non-JEDEC chips probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is overkill. This patch also makes life a lot easier on OpenFirmware platforms, since with OF we extensively use proper device IDs in modaliases. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- drivers/spi/spi.c | 26 +- include/linux/mod_devicetable.h | 13 + include/linux/spi/spi.h | 10 -- scripts/mod/file2alias.c| 13 + 4 files changed, 59 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 70845cc..1431bf2 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -59,9 +59,24 @@ static struct device_attribute spi_dev_attrs[] = { * and the sysfs version makes coldplug work too. */ +static const struct spi_device_id *spi_match_id(const struct spi_device_id *id, + const struct spi_device *sdev) +{ + while (id-name[0]) { + if (!strcmp(sdev-modalias, id-name)) + return id; + id++; + } + return NULL; +} + static int spi_match_device(struct device *dev, struct device_driver *drv) { const struct spi_device *spi = to_spi_device(dev); + const struct spi_driver *sdrv = to_spi_driver(drv); + + if (sdrv-id_table) + return !!spi_match_id(sdrv-id_table, spi); return strcmp(spi-modalias, drv-name) == 0; } @@ -121,6 +136,13 @@ struct bus_type spi_bus_type = { }; EXPORT_SYMBOL_GPL(spi_bus_type); +static int spi_drv_probe_id(struct device *dev) +{ + const struct spi_driver *sdrv = to_spi_driver(dev-driver); + struct spi_device *sdev = to_spi_device(dev); + + return sdrv-probe_id(sdev, spi_match_id(sdrv-id_table, sdev)); +} static int spi_drv_probe(struct device *dev) { @@ -151,7 +173,9 @@ static void spi_drv_shutdown(struct device *dev) int spi_register_driver(struct spi_driver *sdrv) { sdrv-driver.bus = spi_bus_type; - if (sdrv-probe) + if (sdrv-probe_id) + sdrv-driver.probe = spi_drv_probe_id; + else if (sdrv-probe) sdrv-driver.probe = spi_drv_probe; if (sdrv-remove) sdrv-driver.remove = spi_drv_remove; diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 1bf5900..9660dca 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -399,6 +399,19 @@ struct i2c_device_id { __attribute__((aligned(sizeof(kernel_ulong_t; }; +/* spi */ + +#define SPI_NAME_SIZE20 + +struct spi_device_id { + char name[SPI_NAME_SIZE]; +#ifdef __KERNEL__ + void *data; +#else + kernel_ulong_t data; +#endif +}; + /* dmi */ enum dmi_field { DMI_NONE, diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index c47c4b4..c8d92a1 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h @@ -20,6 +20,7 @@ #define __LINUX_SPI_H #include linux/device.h +#include linux/mod_devicetable.h /* * INTERFACES between SPI master-side drivers and SPI infrastructure. @@ -86,7 +87,7 @@ struct spi_device { int irq; void*controller_state; void*controller_data; - charmodalias[32]; + charmodalias[SPI_NAME_SIZE]; /* * likely need more hooks for more protocol options affecting how @@ -145,6 +146,8 @@ struct spi_message; /** * struct spi_driver - Host side protocol driver + * @id_table: List of SPI devices supported by this driver + * @probe_id: Binds this driver to the spi device via id_table matching. * @probe: Binds this driver to the spi device. Drivers can verify * that the device is actually present, and may need to configure * characteristics (such as bits_per_word) which weren't needed for @@ -170,6 +173,9 @@ struct spi_message; * MMC, RTC, filesystem character device nodes, and hardware monitoring. */ struct spi_driver { + const struct spi_device_id *id_table; + int (*probe_id)(struct spi_device *spi, + const struct spi_device_id *id); how about leaving it at just probe and have either a call or a field in the device that you can look at to see if this was a new style of call? int (*probe)(struct spi_device
Re: [PATCH 1/7] spi: Add support for device table matching
On Wed, Jul 29, 2009 at 10:44:46PM +0100, Ben Dooks wrote: [...] + const struct spi_device_id *id_table; + int (*probe_id)(struct spi_device *spi, + const struct spi_device_id *id); how about leaving it at just probe and have either a call or a field in the device that you can look at to see if this was a new style of call? There are no technical difficulties with that, but it would be inconsitent wrt other device table-aware buses (i2c, pci, of). Note that I'm getting rid of probe_id function in patch 5/7, as a cleanup step. I want to keep new features and api cleanups separate. That way it's easier to review the changes. Thanks! -- Anton Vorontsov email: cbouatmai...@gmail.com irc://irc.freenode.net/bd2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/7] spi: Add support for device table matching
On Thu, Jul 30, 2009 at 02:32:23AM +0400, Anton Vorontsov wrote: On Wed, Jul 29, 2009 at 10:44:46PM +0100, Ben Dooks wrote: [...] + const struct spi_device_id *id_table; + int (*probe_id)(struct spi_device *spi, + const struct spi_device_id *id); how about leaving it at just probe and have either a call or a field in the device that you can look at to see if this was a new style of call? There are no technical difficulties with that, but it would be inconsitent wrt other device table-aware buses (i2c, pci, of). Btw, I guess there are few reasons why other buses pass id via probe() call: - You'll have to store the id in device struct forever, while in most cases you only need it during probe(), then you don't need it at all; - If you don't store id in the device struct, you'll have to look up the device table twice (at first during bus-match(), and second time in drivers' probe() hook, i.e. probe(struct bus_dev *dev) { id = bus_get_devid(dev); /* here */ } -- Anton Vorontsov email: cbouatmai...@gmail.com irc://irc.freenode.net/bd2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: BUG in dma-mapping.h:218 // MESH SCSI driver not working
On Wed, 2009-07-29 at 20:22 +0200, Stef Simoens wrote: 2.6.29 works OK 2.6.30-rc1 doesn't work (BUG...) 2.6.30-rc1 with your patch ... seems to hang when it should be mounting the root directory. Is it worthwhile doing a git bisect? It probably is, since it should work with my patch, so something else changed, maybe in the SCSI stack. One thing I know is that the MESH HW has issues that make it very sensitive to alignment DMA buffers, it's possible that the SCSI stack no longer aligns some stuff ? Cheers, Ben. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: BUG in dma-mapping.h:218 // MESH SCSI driver not working
Benjamin Herrenschmidt schreef: On Wed, 2009-07-29 at 20:22 +0200, Stef Simoens wrote: 2.6.29 works OK 2.6.30-rc1 doesn't work (BUG...) 2.6.30-rc1 with your patch ... seems to hang when it should be mounting the root directory. Is it worthwhile doing a git bisect? It probably is, since it should work with my patch, so something else changed, maybe in the SCSI stack. What would be the best approach? - if the kernel boots, it's obviously 'good' - but what if the kernel hits the 'BUG', should I apply your patch then? If it doesn't work with your patch, would it be 'bad' then? One thing I know is that the MESH HW has issues that make it very sensitive to alignment DMA buffers, it's possible that the SCSI stack no longer aligns some stuff ? Hmm, great... how can I verify this? -- Regards, Stef Simoens ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: BUG in dma-mapping.h:218 // MESH SCSI driver not working
On Thu, 2009-07-30 at 01:42 +0200, Stef Simoens wrote: What would be the best approach? - if the kernel boots, it's obviously 'good' - but what if the kernel hits the 'BUG', should I apply your patch then? If it doesn't work with your patch, would it be 'bad' then? Yes. One thing I know is that the MESH HW has issues that make it very sensitive to alignment DMA buffers, it's possible that the SCSI stack no longer aligns some stuff ? Hmm, great... how can I verify this? I will once we get a closer idea of where the bug started to happen. Thanks ! Cheers, Ben. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/7] spi: Add support for device table matching
On Thu, Jul 30, 2009 at 02:40:50AM +0400, Anton Vorontsov wrote: [...] - If you don't store id in the device struct, you'll have to look up the device table twice (at first during bus-match(), and second time in drivers' probe() hook, i.e. probe(struct bus_dev *dev) { id = bus_get_devid(dev); /* here */ } Hm... actually, we're doing this anyway, but in spi core. So, doing something like spi_get_device_id() might be a good idea. Thanks, -- Anton Vorontsov email: cbouatmai...@gmail.com irc://irc.freenode.net/bd2 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] powerpc/mm: Fix SMP issue with MMU context handling code
In switch_mmu_context() if we call steal_context_smp() to get a context to use we shouldn't fall through and than call steal_context_up(). Doing so can be problematic in that the 'mm' that steal_context_up() ends up using will not get marked dirty in the stale_map[] for other CPUs that might have used that mm. Thus we could end up with stale TLB entries in the other CPUs that can cause all kinda of havoc. Signed-off-by: Kumar Gala ga...@kernel.crashing.org Acked-by: Benjamin Herrenschmidt b...@kernel.crashing.org --- arch/powerpc/mm/mmu_context_nohash.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c index 92a1971..b1a727d 100644 --- a/arch/powerpc/mm/mmu_context_nohash.c +++ b/arch/powerpc/mm/mmu_context_nohash.c @@ -217,6 +217,7 @@ void switch_mmu_context(struct mm_struct *prev, struct mm_struct *next) id = steal_context_smp(id); if (id == MMU_NO_CONTEXT) goto again; + goto stolen; } #endif /* CONFIG_SMP */ id = steal_context_up(id); -- 1.6.0.6 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards
On Jun 24, 2009, at 11:30 AM, Anton Vorontsov wrote: Linux isn't able to detect link changes on ethernet ports that were used by U-Boot. This is because U-Boot wrongly clears interrupt polarity bit (INTPOL, 0x400) in the extended status register (EXT_SR, 0x1b) of Marvell PHYs. There is no easy way for PHY drivers to know IRQ line polarity (we could extract it from the device tree and pass it to phydevs, but that'll be quite a lot of work), so for now just reset the PHYs to their default states. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- arch/powerpc/platforms/85xx/mpc85xx_mds.c | 13 + 1 files changed, 13 insertions(+), 0 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards
On Jul 1, 2009, at 12:39 PM, Anton Vorontsov wrote: Sometimes (e.g. when there are no UEMs attached to a board) fsl_pq_mdio_find_free() fails to find a spare address for a TBI PHY, this is because get_phy_id() returns bogus 0x values (0x is expected), and therefore mdio bus probing fails with the following message: fsl-pq_mdio: probe of e0082120.mdio failed with error -16 And obviously ethernet doesn't work after this. This patch solves the problem by adding tbi-phy node into mdio node, so that we won't scan for spare addresses, we'll just use a fixed one. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- arch/powerpc/boot/dts/mpc8569mds.dts |4 1 files changed, 4 insertions(+), 0 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards
On Jul 20, 2009, at 4:36 PM, Anton Vorontsov wrote: U-Boot maps PCI IO at 0xe030, while current dts files specify 0xe200. This leads to the following oops with CONFIG_8139TOO_PIO=y. 8139too Fast Ethernet driver 0.9.28 Machine check in kernel mode. Caused by (from SRR1=41000): Transfer error ack signal Oops: Machine check, sig: 7 [#1] MPC837x RDB [...] NIP [0900] 0x900 LR [c0439df8] rtl8139_init_board+0x238/0x524 Call Trace: [cf831d90] [c0439dcc] rtl8139_init_board+0x20c/0x524 (unreliable) [cf831de0] [c043a15c] rtl8139_init_one+0x78/0x65c [cf831e40] [c0235250] pci_call_probe+0x20/0x30 [...] This patch fixes the issue by specifying the correct PCI IO base address. Signed-off-by: Anton Vorontsov avoront...@ru.mvista.com --- arch/powerpc/boot/dts/mpc8377_rdb.dts |2 +- arch/powerpc/boot/dts/mpc8378_rdb.dts |2 +- arch/powerpc/boot/dts/mpc8379_rdb.dts |2 +- 3 files changed, 3 insertions(+), 3 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC/PATCH] powerpc: Don't use alloc_bootmem in cpm_uart_cpm2.c
On Jul 20, 2009, at 6:51 AM, Mark Ware wrote: This is another alloc_bootmem() - kzalloc() change, this time to fix the non-fatal badness caused when booting with a cpm2_uart console. Signed-Off-By: Mark Ware mw...@elphinstone.net --- drivers/serial/cpm_uart/cpm_uart_cpm2.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) applied to merge (had to fix up patch by hand). - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc/86xx: Update defconfig for GE Fanuc's PPC9A
On Jul 2, 2009, at 9:18 AM, Martyn Welch wrote: General update of defconfig including the following notable changes: - Enable GPIO access via sysfs on GE Fanuc's PPC9A. - Enable Highmem support. - Support for PCMCIA based daughter card. Signed-off-by: Martyn Welch martyn.we...@gefanuc.com --- arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 518 + 1 files changed, 196 insertions(+), 322 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc/86xx: Update GE Fanuc sbc310 default configuration
On Jul 2, 2009, at 9:18 AM, Martyn Welch wrote: General update of defconfig including the following notable changes: - Enable Highmem support. - Support for PCMCIA based daughter card. Signed-off-by: Martyn Welch martyn.we...@gefanuc.com --- arch/powerpc/configs/86xx/gef_sbc310_defconfig | 213 +++ ++--- 1 files changed, 154 insertions(+), 59 deletions(-) applied to merge - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc/86xx: Update GE Fanuc sbc310 DTS
On Jul 2, 2009, at 9:18 AM, Martyn Welch wrote: Update GE Fanuc DTS to match the alterations suggested during the merge of the ppc9a DTS in commit 740d36ae6344f38c4da64c2ede765d7d2dd1f132 Signed-off-by: Martyn Welch martyn.we...@gefanuc.com --- arch/powerpc/boot/dts/gef_sbc310.dts | 29 + 1 files changed, 13 insertions(+), 16 deletions(-) tried to apply this but wasn't able to.. please repost and will defer for .32 at this point (and fix the commit message since its a run on, guessing that might be related to why I couldn't apply it). - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Please pull from 'merge' branch for 2.6.31
Please pull from 'merge' branch of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc.git merge This is pretty much some bug fixes and defconfig updates. - k to receive the following updates: arch/powerpc/boot/dts/mpc8377_rdb.dts |2 arch/powerpc/boot/dts/mpc8378_rdb.dts |2 arch/powerpc/boot/dts/mpc8379_rdb.dts |2 arch/powerpc/boot/dts/mpc8569mds.dts |4 arch/powerpc/configs/83xx/asp8347_defconfig | 106 ++-- arch/powerpc/configs/83xx/kmeter1_defconfig | 176 --- arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 168 +-- arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 168 +-- arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 111 ++-- arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 120 ++--- arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 114 ++-- arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 114 ++-- arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 104 ++-- arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 111 ++-- arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 104 ++-- arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 110 ++-- arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 162 -- arch/powerpc/configs/83xx/sbc834x_defconfig | 103 ++-- arch/powerpc/configs/85xx/ksi8560_defconfig | 93 ++- arch/powerpc/configs/85xx/mpc8540_ads_defconfig | 91 ++- arch/powerpc/configs/85xx/mpc8560_ads_defconfig | 99 ++-- arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | 99 ++-- arch/powerpc/configs/85xx/sbc8548_defconfig | 96 ++-- arch/powerpc/configs/85xx/sbc8560_defconfig | 91 ++- arch/powerpc/configs/85xx/socrates_defconfig | 165 -- arch/powerpc/configs/85xx/stx_gp3_defconfig | 119 +++-- arch/powerpc/configs/85xx/tqm8540_defconfig | 100 ++-- arch/powerpc/configs/85xx/tqm8541_defconfig | 101 ++-- arch/powerpc/configs/85xx/tqm8548_defconfig | 100 ++-- arch/powerpc/configs/85xx/tqm8555_defconfig | 101 ++-- arch/powerpc/configs/85xx/tqm8560_defconfig | 101 ++-- arch/powerpc/configs/85xx/xes_mpc85xx_defconfig | 118 ++-- arch/powerpc/configs/86xx/gef_ppc9a_defconfig | 521 -- arch/powerpc/configs/86xx/gef_sbc310_defconfig| 216 ++--- arch/powerpc/configs/86xx/gef_sbc610_defconfig| 130 +++-- arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 118 +++- arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig | 186 +++ arch/powerpc/configs/86xx/sbc8641d_defconfig | 112 +++- arch/powerpc/configs/adder875_defconfig | 97 ++-- arch/powerpc/configs/c2k_defconfig| 121 +++-- arch/powerpc/configs/ep8248e_defconfig| 97 ++-- arch/powerpc/configs/ep88xc_defconfig | 91 ++- arch/powerpc/configs/linkstation_defconfig| 116 +++- arch/powerpc/configs/mgcoge_defconfig | 97 ++-- arch/powerpc/configs/mgsuvd_defconfig | 89 ++- arch/powerpc/configs/mpc7448_hpc2_defconfig | 103 ++-- arch/powerpc/configs/mpc8272_ads_defconfig| 104 ++-- arch/powerpc/configs/mpc83xx_defconfig| 162 -- arch/powerpc/configs/mpc85xx_defconfig| 193 +++- arch/powerpc/configs/mpc85xx_smp_defconfig| 193 +++- arch/powerpc/configs/mpc866_ads_defconfig | 92 ++- arch/powerpc/configs/mpc86xx_defconfig| 186 +++ arch/powerpc/configs/mpc885_ads_defconfig | 91 ++- arch/powerpc/configs/pq2fads_defconfig| 110 ++-- arch/powerpc/configs/prpmc2800_defconfig | 158 -- arch/powerpc/configs/storcenter_defconfig | 108 ++-- arch/powerpc/mm/mmu_context_nohash.c |1 arch/powerpc/platforms/85xx/mpc85xx_mds.c | 13 drivers/serial/cpm_uart/cpm_uart_cpm2.c |2 59 files changed, 4007 insertions(+), 2755 deletions(-) Anton Vorontsov (3): powerpc/85xx: Fix ethernet link detection on MPC8569E-MDS boards powerpc/85xx: Don't scan for TBI PHY addresses on MPC8569E-MDS boards powerpc/83xx: Fix PCI IO base address on MPC837xE-RDB boards Kumar Gala (2): powerpc/mm: Fix SMP issue with MMU context handling code powerpc: Update defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx Mark Ware (1): cpm_uart: Don't use alloc_bootmem in cpm_uart_cpm2.c Martyn Welch (2): powerpc/86xx: Update defconfig for GE Fanuc's PPC9A powerpc/86xx: Update GE Fanuc sbc310 default configuration ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
fsldma patches?
Dan, What happened with the set of patches that Ira posted for fsldma? - k ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: 82xx, mgcoge: updates for 2.6.32
Hello David, David Gibson wrote: On Wed, Jul 29, 2009 at 10:32:30AM +0200, Heiko Schocher wrote: [snip] +m...@10d40 { +device_type = mdio; Drop this device_type. Done. +compatible = fsl,cpm2-mdio-bitbang; +reg = 0x10d00 0x14; +#address-cells = 1; +#size-cells = 0; +fsl,mdio-pin = 12; +fsl,mdc-pin = 13; + +phy0: ethernet-...@0 { +reg = 0x0; +device_type = ethernet-phy; And this one, too. Done. +}; + +phy1: ethernet-...@1 { +reg = 0x1; +device_type = ethernet-phy; +}; +}; I collect more comments, then the patch follows. Thanks bye Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: 82xx, mgcoge: updates for 2.6.32
Hello Kumar, Kumar Gala wrote: On Jul 29, 2009, at 3:32 AM, Heiko Schocher wrote: - add I2C support - add FCC1 and FCC2 support - fix bogus gpio numbering in plattformcode Signed-off-by: Heiko Schocher h...@denx.de --- - based on git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next branch - checked with checkpatch.pl: $ ./scripts/checkpatch.pl 0001-82xx-mgcoge-updates-for-2.6.32.patch total: 0 errors, 0 warnings, 531 lines checked 0001-82xx-mgcoge-updates-for-2.6.32.patch has no obvious style problems and is ready for submission. $ BTW: Who is PPC82XX Maintainer? I couldn;t find such an entry in the MAINTAINERS file ... its me. Ah, thought it, but I wasn;t sure ... Hmm, maybe you can update the MAINTAINERS entry? arch/powerpc/boot/dts/mgcoge.dts | 56 ++ arch/powerpc/configs/mgcoge_defconfig | 178 +--- Can we hold off or pull the defconfig update into a separate patch. I normally update defconfigs in a late -rc series and that will probably generate merge conflicts. I make a seperate patch for the defconfig. Thanks. I wait for more comments, before I post the next version of this patch. bye Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev