1. 13 12月, 2015 4 次提交
  2. 12 12月, 2015 1 次提交
  3. 03 12月, 2015 1 次提交
  4. 22 11月, 2015 1 次提交
  5. 19 11月, 2015 1 次提交
  6. 15 11月, 2015 3 次提交
  7. 08 11月, 2015 1 次提交
    • S
      iio: adc: vf610_adc: Fix division by zero error · 8546d2e5
      Sanchayan Maity 提交于
      In case the fsl,adck-max-frequency property is not present in
      the device tree, a division by zero error results during the
      probe call on kernel boot (see below). This patch fixes it and
      also restores device tree compatibility in case kernels are
      booting with old device trees without this property specified.
      
      [    1.063229] Division by zero in kernel.
      [    1.067152] CPU: 0 PID: 1 Comm: swapper Not tainted
      4.3.0-rc5-00212-gcc88cef #37
      [    1.074650] Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
      [    1.081135] Backtrace:
      [    1.083694] [<800134a4>] (dump_backtrace) from [<8001369c>]
      (show_stack+0x18/0x1c)
      [    1.091340]  r7:00000008 r6:8e0ae210 r5:00000000 r4:8e299800
      [    1.097146] [<80013684>] (show_stack) from [<80297b1c>]
      (dump_stack+0x24/0x28)
      [    1.104483] [<80297af8>] (dump_stack) from [<80013608>]
      (__div0+0x1c/0x20)
      [    1.111421] [<800135ec>] (__div0) from [<802968b4>] (Ldiv0+0x8/0x10)
      [    1.117865] [<80424350>] (vf610_adc_probe) from [<803153b4>]
      (platform_drv_probe+0x4c/0xac)
      [    1.126311]  r10:00000000 r9:8076a5ec r8:00000000 r7:fffffdfb
      r6:807cc67c r5:8e0ae210
      [    1.134319]  r4:807f6c54
      [    1.136915] [<80315368>] (platform_drv_probe) from [<803138bc>]
      (driver_probe_device+0x20c/0x2f8)
      [    1.145882]  r7:807cc67c r6:00000000 r5:8e0ae210 r4:807f6c54
      [    1.151657] [<803136b0>] (driver_probe_device) from [<80313a3c>]
      (__driver_attach+0x94/0x98)
      [    1.160190]  r9:8076a5ec r8:00000098 r7:00000000 r6:8e0ae244
      r5:807cc67c r4:8e0ae210
      [    1.168112] [<803139a8>] (__driver_attach) from [<80311cb8>]
      (bus_for_each_dev+0x70/0xa4)
      [    1.176383]  r7:00000000 r6:803139a8 r5:807cc67c r4:00000000
      [    1.182159] [<80311c48>] (bus_for_each_dev) from [<80313318>]
      (driver_attach+0x24/0x28)
      [    1.190260]  r6:807bb568 r5:8e2a5b00 r4:807cc67c
      [    1.194996] [<803132f4>] (driver_attach) from [<80312f50>]
      (bus_add_driver+0x1a4/0x21c)
      [    1.203113] [<80312dac>] (bus_add_driver) from [<803142a8>]
      (driver_register+0x80/0x100)
      [    1.211275]  r7:8e2a7dc0 r6:807a8160 r5:80789e14 r4:807cc67c
      [    1.217075] [<80314228>] (driver_register) from [<803152f8>]
      (__platform_driver_register+0x5c/0x64)
      [    1.226216]  r5:80789e14 r4:807a8160
      [    1.229877] [<8031529c>] (__platform_driver_register) from
      [<80789e30>] (vf610_adc_driver_init+0x1c/0x20)
      [    1.239556] [<80789e14>] (vf610_adc_driver_init) from [<800095f8>]
      (do_one_initcall+0x94/0x1dc)
      [    1.248365] [<80009564>] (do_one_initcall) from [<8076ae34>]
      (kernel_init_freeable+0x13c/0x1e0)
      [    1.257155]  r10:80794830 r9:8076a5ec r8:00000098 r7:807d5780
      r6:807d5780 r5:00000006
      [    1.265153]  r4:807a0ee8
      [    1.267753] [<8076acf8>] (kernel_init_freeable) from [<80590ef0>]
      (kernel_init+0x18/0xf0)
      [    1.276021]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
      r6:00000000 r5:80590ed8
      [    1.284015]  r4:807d5780
      [    1.286615] [<80590ed8>] (kernel_init) from [<8000f878>]
      (ret_from_fork+0x14/0x3c)
      [    1.294278]  r5:80590ed8 r4:00000000
      Signed-off-by: NSanchayan Maity <maitysanchayan@gmail.com>
      Acked-by: NFugang Duan <B38611@freescale.com>
      Acked-by: NStefan Agner <stefan@agner.ch>
      Cc: <Stable@vger.kernel.org>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      8546d2e5
  8. 28 10月, 2015 1 次提交
  9. 25 10月, 2015 5 次提交
  10. 03 10月, 2015 1 次提交
  11. 01 10月, 2015 2 次提交
  12. 24 9月, 2015 3 次提交
  13. 31 8月, 2015 1 次提交
  14. 23 8月, 2015 3 次提交
  15. 16 8月, 2015 1 次提交
    • X
      iio: adc: xilinx-xadc: Push interrupts into hardirq context · 70581e0e
      Xander Huff 提交于
      The driver currently registers a pair of irq handlers using
      request_threaded_irq(), however the synchronization mechanism between the
      hardirq and the threadedirq handler is a regular spinlock.
      
      Unfortunately, this breaks PREEMPT_RT builds, where a spinlock can sleep,
      and is thus not able to be acquired from a hardirq handler. This patch gets
      rid of the threaded handler and pushes all interrupt handling into the
      hardirq context, and uses request_irq().
      
      To validate that this change has no impact on RT performance, here are
      cyclictest values with no processes running:
      
      $ sudo cyclictest -S -m -p 98
      policy: fifo: loadavg: 0.00 0.01 0.05 1/174 2539
      T: 0 ( 1405) P:98 I:1000 C:167010520 Min: 9 Act: 12 Avg: 12 Max: 75
      T: 1 ( 1862) P:98 I:1500 C:111340339 Min: 9 Act: 12 Avg: 12 Max: 73
      
      Then, all xadc raw handles were accessed in a continuous loop via
      /sys/bus/iio/devices/iio:device0:
      
      $ sudo cyclictest -S -m -p 98
      policy: fifo: loadavg: 7.84 7.70 7.63 3/182 4260
      T: 0 ( 2559) P:98 I:1000 C:241557018 Min: 11 Act: 18 Avg: 21 Max: 74
      T: 1 ( 2560) P:98 I:1500 C:161038006 Min: 10 Act: 21 Avg: 20 Max: 73
      Signed-off-by: NXander Huff <xander.huff@ni.com>
      Acked-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      70581e0e
  16. 13 8月, 2015 5 次提交
  17. 03 8月, 2015 4 次提交
  18. 21 7月, 2015 2 次提交