1. 24 7月, 2010 6 次提交
  2. 19 7月, 2010 1 次提交
  3. 14 7月, 2010 1 次提交
  4. 12 7月, 2010 4 次提交
    • M
      powerpc/fsl-booke: Fix address issue when using relocatable kernels · 77154a20
      Matthew McClintock 提交于
      When booting a relocatable kernel it needs to jump to the correct
      start address, which for BookE parts is usually unchanged
      regardless of the physical memory offset.
      
      Recent changes cause problems with how we calculate the start
      address, it was always adding the RMO into the start address
      which is incorrect. This patch only adds in the RMO offset
      if we are in the kexec code path, as it needs the RMO to work
      correctly.
      
      Instead of adding the RMO offset in in the common code path, we
      can just set r6 to the RMO offset in the kexec code path instead
      of to zero, and finally perform the masking in the common code
      path
      Signed-off-by: NMatthew McClintock <msm@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      77154a20
    • A
      powerpc/cpm1: Mark micropatch code/data static and __init · af71bcfe
      Anton Vorontsov 提交于
      This saves runtime memory and fixes lots of sparse warnings like this:
      
          CHECK   arch/powerpc/sysdev/micropatch.c
        arch/powerpc/sysdev/micropatch.c:27:6: warning: symbol 'patch_2000'
        was not declared. Should it be static?
        arch/powerpc/sysdev/micropatch.c:146:6: warning: symbol 'patch_2f00'
        was not declared. Should it be static?
        ...
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      af71bcfe
    • A
      powerpc/cpm1: Fix build with various CONFIG_*_UCODE_PATCH combinations · 2069a6ae
      Anton Vorontsov 提交于
      Warnings are treated as errors for arch/powerpc code, so build fails
      with CONFIG_I2C_SPI_UCODE_PATCH=y:
      
          CC      arch/powerpc/sysdev/micropatch.o
        cc1: warnings being treated as errors
        arch/powerpc/sysdev/micropatch.c: In function 'cpm_load_patch':
        arch/powerpc/sysdev/micropatch.c:630: warning: unused variable 'smp'
        make[1]: *** [arch/powerpc/sysdev/micropatch.o] Error 1
      
      And with CONFIG_USB_SOF_UCODE_PATCH=y:
      
        CC      arch/powerpc/sysdev/micropatch.o
        cc1: warnings being treated as errors
        arch/powerpc/sysdev/micropatch.c: In function 'cpm_load_patch':
        arch/powerpc/sysdev/micropatch.c:629: warning: unused variable 'spp'
        arch/powerpc/sysdev/micropatch.c:628: warning: unused variable 'iip'
        make[1]: *** [arch/powerpc/sysdev/micropatch.o] Error 1
      
      This patch fixes these issues by introducing proper #ifdefs.
      
      Cc: <stable@kernel.org> [ .33, .34 ]
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      2069a6ae
    • A
      powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) · 56825c88
      Anton Vorontsov 提交于
      spi_t was removed in commit 644b2a68
      ("powerpc/cpm: Remove SPI defines and spi structs"), the commit assumed
      that spi_t isn't used anywhere outside of the spi_mpc8xxx driver. But
      it appears that the struct is needed for micropatch code. So, let's
      reintroduce the struct.
      
      Fixes the following build issue:
      
          CC      arch/powerpc/sysdev/micropatch.o
        micropatch.c: In function 'cpm_load_patch':
        micropatch.c:629: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
        micropatch.c:629: error: 'spp' undeclared (first use in this function)
        micropatch.c:629: error: (Each undeclared identifier is reported only once
        micropatch.c:629: error: for each function it appears in.)
      Reported-by: NLEROY Christophe <christophe.leroy@c-s.fr>
      Reported-by: NTony Breeds <tony@bakeyournoodle.com>
      Cc: <stable@kernel.org> [ .33, .34 ]
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      56825c88
  5. 08 7月, 2010 10 次提交
  6. 06 7月, 2010 16 次提交
    • A
      proc: unify PROC_DEVICETREE config · ef2a4524
      Andres Salomon 提交于
      Microblaze and PPC both use PROC_DEVICETREE, and OLPC will as well.. put
      the Kconfig option into fs/ rather than in arch/*/Kconfig.
      Signed-off-by: NAndres Salomon <dilinger@queued.net>
      [grant.likely@secretlab.ca: changed depends to PROC_FS && !SPARC]
      [grant.likely@secretlab.ca: moved to drivers/of/Kconfig]
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      ef2a4524
    • G
      of: Put all CONFIG_OF dependencies into a Kconfig menu block · 5ab5fc7e
      Grant Likely 提交于
      All of the options in drivers/of/Kconfig depend on CONFIG_OF.  Putting
      all of them inside a menu block simplifies the dependency statements.
      It also creates a logical group for adding user selectable OF options.
      
      This patch also changes (PPC_OF || MICROBLAZE) statements to (!SPARC)
      so that those options are available to other architectures (and in
      fact the !SPARC conditions should probably be re-evalutated since the
      code is more generic now)
      
      This patch also moves the definition of CONFIG_DTC from arch/* to
      drivers/of/Kconfig
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      5ab5fc7e
    • S
      of: remove architecture CONFIG_OF definitions · dd5e7379
      Stephen Rothwell 提交于
      now that CONFIG_OF is defined globally
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Acked-by: NMichal Simek <monstr@monstr.eu>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      dd5e7379
    • S
      powerpc: turn CONFIG_OF into a select · 10f85f43
      Stephen Rothwell 提交于
      so that we can make CONFIG_OF global and remove it from
      the architecture Kconfig files later.
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      10f85f43
    • G
      of: refactor of_modalias_node() and remove explicit match table. · 2ffe8c5f
      Grant Likely 提交于
      This patch tightens up the behaviour of of_modalias_node() to be more
      predicatable and to eliminate the explicit of_modalias_tablep[] that
      is currently used to override the first entry in the compatible list
      of a device.  The override table was needed originally because spi
      and i2c drivers had no way to do of-style matching.  Now that all
      devices can have an of_node pointer, and all drivers can have an
      of_match_table, the explicit override table is no longer needed
      because each driver can specify its own OF-style match data.
      
      The mpc8349emitx-mcu driver is modified to explicitly specify the
      correct device to bind against.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      2ffe8c5f
    • A
      of/gpio: add default of_xlate function if device has a node pointer · 391c970c
      Anton Vorontsov 提交于
      Implement generic OF gpio hooks and thus make device-enabled GPIO chips
      (i.e.  the ones that have gpio_chip->dev specified) automatically attach
      to the OpenFirmware subsystem.  Which means that now we can handle I2C and
      SPI GPIO chips almost* transparently.
      
      * "Almost" because some chips still require platform data, and for these
        chips OF-glue is still needed, though with this change the glue will
        be much smaller.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Bill Gatliff <bgat@billgatliff.com>
      Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      CC: linux-kernel@vger.kernel.org
      CC: devicetree-discuss@lists.ozlabs.org
      391c970c
    • G
      of/gpio: stop using device_node data pointer to find gpio_chip · 594fa265
      Grant Likely 提交于
      Currently the kernel uses the struct device_node.data pointer to resolve
      a struct gpio_chip pointer from a device tree node.  However, the .data
      member doesn't provide any type checking and there aren't any rules
      enforced on what it should be used for.  There's no guarantee that the
      data stored in it actually points to an gpio_chip pointer.
      
      Instead of relying on the .data pointer, this patch modifies the code
      to add a lookup function which scans through the registered gpio_chips
      and returns the gpio_chip that has a pointer to the specified
      device_node.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Anton Vorontsov <avorontsov@ru.mvista.com>
      CC: Grant Likely <grant.likely@secretlab.ca>
      CC: David Brownell <dbrownell@users.sourceforge.net>
      CC: Bill Gatliff <bgat@billgatliff.com>
      CC: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Jean Delvare <khali@linux-fr.org>
      CC: linux-kernel@vger.kernel.org
      CC: devicetree-discuss@lists.ozlabs.org
      594fa265
    • A
      of/gpio: Kill of_gpio_chip and add members directly to gpio_chip · a19e3da5
      Anton Vorontsov 提交于
      The OF gpio infrastructure is great for describing GPIO connections within
      the device tree.  However, using a GPIO binding still requires changes to
      the gpio controller just to add an of_gpio structure.  In most cases, the
      gpio controller doesn't actually need any special support and the simple
      OF gpio mapping function is more than sufficient.  Additional, the current
      scheme of using of_gpio_chip requires a convoluted scheme to maintain
      1:1 mappings between of_gpio_chip and gpio_chip instances.
      
      If the struct of_gpio_chip data members were moved into struct gpio_chip,
      then it would simplify the processing of OF gpio bindings, and it would
      make it trivial to use device tree OF connections on existing gpiolib
      controller drivers.
      
      This patch eliminates the of_gpio_chip structure and moves the relevant
      fields into struct gpio_chip (conditional on CONFIG_OF_GPIO).  This move
      simplifies the existing code and prepares for adding automatic device tree
      support to existing drivers.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Cc: Bill Gatliff <bgat@billgatliff.com>
      Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      a19e3da5
    • G
      of: Merge of_device_alloc() and of_device_make_bus_id() · 94c09319
      Grant Likely 提交于
      This patch merges the common routines of_device_alloc() and
      of_device_make_bus_id() from powerpc and microblaze.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Grant Likely <grant.likely@secretlab.ca>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      CC: devicetree-discuss@lists.ozlabs.org
      94c09319
    • G
      of/device: Merge of_platform_bus_probe() · 5fd200f3
      Grant Likely 提交于
      Merge common code between PowerPC and microblaze.  This patch merges
      the code that scans the tree and registers devices.  The functions
      merged are of_platform_bus_probe(), of_platform_bus_create(), and
      of_platform_device_create().
      
      This patch also move the of_default_bus_ids[] table out of a Microblaze
      header file and makes it non-static.  The device ids table isn't merged
      because powerpc and microblaze use different default data.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Grant Likely <grant.likely@secretlab.ca>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      5fd200f3
    • G
      of/device: merge of_device_uevent · dd27dcda
      Grant Likely 提交于
      Merge common code between powerpc and microblaze
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      dd27dcda
    • G
      of/address: Merge all of the bus translation code · dbbdee94
      Grant Likely 提交于
      Microblaze and PowerPC share a large chunk of code for translating
      OF device tree data into usable addresses.  Differences between the two
      consist of cosmetic differences, and the addition of dma-ranges support
      code to powerpc but not microblaze.  This patch moves the powerpc
      version into common code and applies many of the cosmetic (non-functional)
      changes from the microblaze version.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      dbbdee94
    • G
      of/address: merge of_address_to_resource() · 1f5bef30
      Grant Likely 提交于
      Merge common code between PowerPC and Microblaze.  This patch also
      moves the prototype of pci_address_to_pio() out of pci-bridge.h and
      into prom.h because the only user of pci_address_to_pio() is
      of_address_to_resource().
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      1f5bef30
    • G
      of/address: merge of_iomap() · 6b884a8d
      Grant Likely 提交于
      Merge common code between Microblaze and PowerPC.  This patch creates
      new of_address.h and address.c files to containing address translation
      and mapping routines.  First routine to be moved it of_iomap()
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      6b884a8d
    • G
      of/irq: merge irq mapping code · 7dc2e113
      Grant Likely 提交于
      Merge common irq mapping code between PowerPC and Microblaze.
      
      This patch merges of_irq_find_parent(), of_irq_map_raw() and
      of_irq_map_one().  The functions are dependent on one another, so all
      three are merged in a single patch.  Other than cosmetic difference
      (ie. DBG() vs. pr_debug()), the implementations are identical.
      
      of_irq_to_resource() is also merged, but in this case the
      implementations are different.  This patch drops the microblaze version
      and uses the powerpc implementation unchanged.  The microblaze version
      essentially open-coded irq_of_parse_and_map() which it does not need
      to do.  Therefore the powerpc version is safe to adopt.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      7dc2e113
    • G
      of/powerpc: Move Powermac irq quirk code into powermac pic driver code · b83da291
      Grant Likely 提交于
      The code that figures out what is wrong with the powermac irq device
      tree data belongs with the rest of the powermac irq code.  This patch
      moves it out of prom_parse.c and into powermac/pic.c so that it is only
      compiled in when actually needed.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      b83da291
  7. 29 6月, 2010 2 次提交
    • G
      of/irq: Move irq_of_parse_and_map() to common code · e3873444
      Grant Likely 提交于
      Merge common code between PowerPC and Microblaze.  SPARC implements
      irq_of_parse_and_map(), but the implementation is different, so it
      does not use this code.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
      e3873444
    • G
      of: kill struct of_device · b505ff5e
      Grant Likely 提交于
      Now that the device tree node pointer has been moved out of struct
      of_device and into the common struct device, there isn't anything
      unique about of_device anymore.  In fact, there isn't much need
      for a separate of_bus when all busses have access to OF style
      probing.
      
      arch/powerpc and arch/microblaze are moving away from using the of_bus
      and using the regular platform bus instead for mmio devices.  This
      patch makes of_device the same as platform_device as a stepping stone
      in migrating of_platform_drivers over to the platform bus.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      b505ff5e