1. 22 5月, 2015 1 次提交
  2. 14 5月, 2015 1 次提交
  3. 13 5月, 2015 7 次提交
  4. 01 5月, 2015 3 次提交
    • R
      ARM: pxa: lubbock: use new pxa_cplds driver · fc9e38c0
      Robert Jarzmik 提交于
      As the interrupt handling was transferred to the pxa_cplds driver,
      make the switch in lubbock platform code.
      
      Fixes: 157d2644 ("ARM: pxa: change gpio to platform device")
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      fc9e38c0
    • R
      ARM: pxa: mainstone: use new pxa_cplds driver · 27768863
      Robert Jarzmik 提交于
      As the interrupt handling was transferred to the pxa_cplds driver,
      make the switch in mainstone platform code.
      
      Fixes: 157d2644 ("ARM: pxa: change gpio to platform device")
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      27768863
    • R
      ARM: pxa: pxa_cplds: add lubbock and mainstone IO · aa8d6b73
      Robert Jarzmik 提交于
      Historically, this support was in arch/arm/mach-pxa/lubbock.c and
      arch/arm/mach-pxa/mainstone.c. When gpio-pxa was moved to drivers/pxa,
      it became a driver, and its initialization and probing happened at
      postcore initcall. The lubbock code used to install the chained lubbock
      interrupt handler at init_irq() time.
      
      The consequence of the gpio-pxa change is that the installed chained irq
      handler lubbock_irq_handler() was overwritten in pxa_gpio_probe(_dt)(),
      removing :
       - the handler
       - the falling edge detection setting of GPIO0, which revealed the
         interrupt request from the lubbock IO board.
      
      As a fix, move the gpio0 chained handler setup to a place where we have
      the guarantee that pxa_gpio_probe() was called before, so that lubbock
      handler becomes the true IRQ chained handler of GPIO0, demuxing the
      lubbock IO board interrupts.
      
      This patch moves all that handling to a mfd driver. It's only purpose
      for the time being is the interrupt handling, but in the future it
      should encompass all the motherboard CPLDs handling :
       - leds
       - switches
       - hexleds
      
      The same logic applies to mainstone board.
      
      Fixes: 157d2644 ("ARM: pxa: change gpio to platform device")
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      aa8d6b73
  5. 14 3月, 2015 1 次提交
  6. 05 3月, 2015 1 次提交
    • A
      ARM: fix typos in smc91x platform data · 04b91701
      Arnd Bergmann 提交于
      I recently did a rework of the smc91x driver and did some build-testing
      by compiling hundreds of randconfig kernels. Unfortunately, my script
      was wrong and did not actually test the configurations that mattered,
      so I introduced stupid typos in almost every file I touched.
      
      I fixed my script now, built all configurations that actually matter
      and fixed all the typos, this is the result.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: b70661c7 ("net: smc91x: use run-time configuration on all ARM machines")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      04b91701
  7. 01 3月, 2015 1 次提交
    • A
      net: smc91x: use run-time configuration on all ARM machines · b70661c7
      Arnd Bergmann 提交于
      The smc91x driver traditionally gets configured at compile-time
      for whichever hardware it runs on. This no longer works on
      ARM as we continue to move to building all-in-one kernels.
      
      Most ARM configurations with this driver already use run-time
      configuration through DT or through platform_data, but a
      few have not been converted yet.
      
      I've checked all ARM boards that use this driver in their
      legacy board files, and converted the ones that were using
      compile-time configuration in smc91x.h to behave like the
      other ones and provide the interrupt polarity along with
      the MMIO configuration (width, stride) at platform device
      creation time.
      
      In particular, these combinations were previously selectable
      in Kconfig but in fact broken:
      
      - sa1100 assabet plus pleb
      - msm combined with any other armv6/v7 platform
      - pxa-idp combined with any non-DMA pxa variant
      - LogicPD PXA270 combined with any other pxa
      - nomadik combined with any other armv4/v5 platform,
        e.g. versatile.
      
      None of these seem critical enough to warrant a backport
      to stable, but it would be nice to clean this up for good.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      ----
      I would like the patch to get merged through netdev, after
      Robert and/or Linus have verified it on at least some hardware.
      
      There are a few other non-ARM platforms using this driver,
      I could do the same patch for those if we want to take
      it further.
      
       arch/arm/mach-msm/board-halibut.c    |   8 ++++-
       arch/arm/mach-msm/board-qsd8x50.c    |   8 ++++-
       arch/arm/mach-pxa/idp.c              |   5 +++
       arch/arm/mach-pxa/lpd270.c           |   8 ++++-
       arch/arm/mach-realview/core.c        |   7 ++++
       arch/arm/mach-realview/realview_eb.c |   2 +-
       arch/arm/mach-sa1100/neponset.c      |   6 ++++
       arch/arm/mach-sa1100/pleb.c          |   7 ++++
       drivers/net/ethernet/smsc/smc91x.c   |   9 +++--
       drivers/net/ethernet/smsc/smc91x.h   | 114 ++----------------------------------------------------------
       10 files changed, 57 insertions(+), 117 deletions(-)
      Tested-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b70661c7
  8. 24 2月, 2015 2 次提交
    • R
      ARM: pxa: fix pxa interrupts handling in DT · d6cf30ca
      Robert Jarzmik 提交于
      The commit "ARM: pxa: arbitrarily set first interrupt number" changed
      the first pxa interrupt to 16.
      
      As a consequence, device-tree builds got broken, because :
       - pxa_mask_irq() and pxa_unmask_irq() are using IRQ_BIT()
       - IRQ_BIT(x) calculates the interrupts as : x - PXA_IRQ(0)
      
      Before the commit, the first interrupt shift, PXA_IRQ(0) was 0,
      therefore IRQ_BIT(x) was x. After the change, it is necessary that the
      same shift of 16 is applied between the virtual interrupt number and the
      hardware irq number.
      
      This situation comes from the common irq_chip shared between legacy
      platform builds and device-tree builds.
      
      Fix the broken interrupts in DT case by adding this shift in the DT case
      too.
      
      As a consequence of the IRQ_BIT() is removed alltogether from interrupts
      handling, even in the platform data types of platforms :
       - a legacy irq domain is used
       - the irq_chip handles hardware interrupts
       - the virtual to hardware interrupt conversion is fully handled by irq
         domain mechanics
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      d6cf30ca
    • M
      ARM: pxa: Fix typo in zeus.c · 5c0c75d3
      Masanari Iida 提交于
      This patch fix a typo in struct platform_device can_regulator_device.
      Signed-off-by: NMasanari Iida <standby24x7@gmail.com>
      Acked-by: NDaniel Mack <daniel@zonque.org>
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      5c0c75d3
  9. 06 2月, 2015 1 次提交
  10. 28 1月, 2015 1 次提交
  11. 27 12月, 2014 6 次提交
  12. 20 11月, 2014 6 次提交
  13. 28 10月, 2014 1 次提交
  14. 21 10月, 2014 1 次提交
    • R
      ARM: pxa: fix hang on startup with DEBUG_LL · cde7fc87
      Robert Jarzmik 提交于
      The commit 2111667b ("ARM: pxa: call debug_ll_io_init for
      earlyprintk") triggers in the current kernel the attached backtrace on
      PXA/tosa early in the boot time when DEBUG_LL is enabled.
      
      It is due to overlap between uart virtual memory defined in
      DEBUG_UART_VIRT and mapped by debug_ll_io_init() and peripheral bus
      mapped by pxa_map_io at the same address, 0xf2100000.
      
      As hinted by Arnd, map early virtual memory for low level debug on
      address 0xf6200000, even if that means 2 virtual mappings will give
      access to the pxa internal UARTs (FFUART, BTUART, STUART, ...).
      
      ------------[ cut here ]------------
      kernel BUG at /home/lumag/linux/mm/vmalloc.c:1143!
      Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-00032-g8e0d202-dirty #23
      task: c062a5a8 ti: c0620000 task.ti: c0620000
      PC is at vm_area_add_early+0x54/0x84
      LR is at add_static_vm_early+0xc/0x60
      pc : [<c03e1100>]    lr : [<c03d9ef4>]    psr: 800001d3
      sp : c0621f04  ip : c03efa74  fp : c03edf84
      r10: c0637e98  r9 : 40000001  r8 : c03da57c
      r7 : c3ffcfb0  r6 : 00000000  r5 : c3ffcfb0  r4 : 02000000
      r3 : c3ffcfd8  r2 : f2100000  r1 : f4000000  r0 : c3ffcfb0
      Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
      Control: 00007977  Table: a0004000  DAC: 00000017
      Process swapper (pid: 0, stack limit = 0xc06201c8)
      Stack: (0xc0621f04 to 0xc0622000)
      1f00:          c3ffcfd8 40000001 c3ffcfd8 c03ee08c c03da570 c03db90c c0637d24
      1f20: 00000000 c03ec7cc c066e654 a0700000 000a0700 c03db914 c03db90c c03daf84
      1f40: 00000000 000a0000 c0000000 c03ec7cc 000a0700 c0700000 ffff1000 000a3fff
      1f60: 00001000 00000007 00000000 c03ec7cc c0008000 c03ed748 c0621fd4 c03d5d18
      1f80: 69052d00 a03ec48c 00000000 c03d8ad0 0000006c 00007977 c036c6e8 00000001
      1fa0: c0621fd4 c03ed744 c0628000 a0004000 69052d00 a03ec48c 00000000 c03d68d4
      1fc0: 00000000 00000000 00000000 00000000 00000000 c03ed748 c0649894 c062801c
      1fe0: c03ed744 c062b2f0 a0004000 69052d00 a03ec48c a0008040 00000000 00000000
      [<c03e1100>] (vm_area_add_early) from [<c03d9ef4>] (add_static_vm_early+0xc/0x60)
      [<c03d9ef4>] (add_static_vm_early) from [<c03da570>] (iotable_init.part.6+0xa8/0xb4)
      [<c03da570>] (iotable_init.part.6) from [<c03db914>] (pxa25x_map_io+0x8/0x24)
      [<c03db914>] (pxa25x_map_io) from [<c03daf84>] (paging_init+0x744/0x8d8)
      [<c03daf84>] (paging_init) from [<c03d8ad0>] (setup_arch+0x354/0x608)
      [<c03d8ad0>] (setup_arch) from [<c03d68d4>] (start_kernel+0xa8/0x3dc)
      [<c03d68d4>] (start_kernel) from [<a0008040>] (0xa0008040)
      Code: e5904008 e0811004 e1520001 2a000005 (e7f001f2)
      ---[ end trace f24b6c88ae00fa9a ]---
      Kernel panic - not syncing: Attempted to kill the idle task!
      ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
      
      Cc: <stable@vger.kernel.org>
      Reported-by: NDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      cde7fc87
  15. 20 10月, 2014 1 次提交
  16. 14 10月, 2014 1 次提交
  17. 04 10月, 2014 1 次提交
  18. 01 10月, 2014 2 次提交
  19. 19 9月, 2014 1 次提交
    • D
      ARM: pxa3xx: provide specific platform_devices for all ssp ports · 0da0e227
      Daniel Mack 提交于
      Currently, devices for SSP ports 1, 2 and 3 are registered as compatible
      devices to pxa27x-ssp. While the actual IP core is comparable, there are
      some subtle differences which users of the SSP ports address by looking at
      the 'type' field.
      
      By registering devices of type 'pxa27x-ssp', this 'type' field is
      incorrectly set to PXA27x_SSP which confuses the users.
      
      To fix this, provide specific ssp port plaform devices which use
      'pxa3xx-ssp' as driver name, an instantiate them from pxa3xx.c.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NHaojian Zhuang <haojian.zhuang@linaro.org>
      0da0e227
  20. 09 9月, 2014 1 次提交