1. 27 9月, 2012 1 次提交
    • A
      can: c_can: fix segfault during rmmod · c523530c
      AnilKumar Ch 提交于
      This patch fixes an oops which occurs during unloading the driver.
      unregister_c_can_dev() is doing c_can/d_can module interrupts disable, which
      requires module clock enable. c_can/d_can interrupts enable/disable is handled
      properly in c_can_start and c_can_stop, so removing from
      unregister_c_can_dev().
      
      The problem was triggered by adding runtime PM support to the c_can driver by
      this commit:
      
      4cdd34b2 can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller
      Signed-off-by: NAnilKumar Ch <anilkumar@ti.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      c523530c
  2. 23 9月, 2012 1 次提交
  3. 22 9月, 2012 7 次提交
  4. 04 9月, 2012 1 次提交
  5. 24 8月, 2012 2 次提交
  6. 31 7月, 2012 1 次提交
  7. 20 7月, 2012 9 次提交
  8. 17 7月, 2012 3 次提交
  9. 03 7月, 2012 1 次提交
    • H
      can: flexcan: add hardware controller version support · 30c1e672
      Hui Wang 提交于
      At least in the i.MX series, the flexcan contrller divides into ver_3
      and ver_10, current driver is for ver_3 controller.
      
      i.MX6 has ver_10 controller, it has more reigsters than ver_3 has.
      The rxfgmask (Rx FIFO Global Mask) register is one of the new added.
      Its reset value is 0xffffffff, this means ID Filter Table must be
      checked when receive a packet, but the driver is designed to accept
      everything during the chip start, we need to clear this register to
      follow this design.
      
      Use the data entry of the struct of_device_id to point chip specific
      info, we can set hardware version for each platform.
      
      Cc: linux-can@vger.kernel.org
      Cc: Marc Kleine-Budde <mkl@pengutronix.de>
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NHui Wang <jason77.wang@gmail.com>
      [mkl: add id_table support]
      Tested-by: NHui Wang <jason77.wang@gmail.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      30c1e672
  10. 02 7月, 2012 3 次提交
  11. 27 6月, 2012 1 次提交
  12. 21 6月, 2012 1 次提交
  13. 20 6月, 2012 3 次提交
  14. 16 6月, 2012 1 次提交
  15. 07 6月, 2012 3 次提交
    • A
      can: c_can: Add support for Bosch D_CAN controller · 69927fcc
      AnilKumar Ch 提交于
      This patch adds the support for D_CAN controller driver to the existing
      C_CAN driver.
      
      Bosch D_CAN controller is a full-CAN implementation which is compliant
      to CAN protocol version 2.0 part A and B. Bosch D_CAN user manual can be
      obtained from: http://www.semiconductors.bosch.de/media/en/pdf/
      ipmodules_1/can/d_can_users_manual_111.pdf
      
      A new array is added for accessing the d_can registers, according to d_can
      controller register space.
      
      Current D_CAN implementation has following limitations, this is done
      to avoid large changes to the C_CAN driver.
      1. Message objects are limited to 32, 16 for RX and 16 for TX. C_CAN IP
         supports upto 32 message objects but in case of D_CAN we can configure
         upto 128 message objects.
      2. Using two 16bit reads/writes for accessing the 32bit D_CAN registers.
      3. These patches have been tested on little endian machine, there might
         be some hidden endian-related issues due to the nature of the accesses
         (32-bit registers accessed as 2 16-bit registers). However, I do not
         have a big-endian D_CAN implementation to confirm.
      Signed-off-by: NAnilKumar Ch <anilkumar@ti.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      69927fcc
    • A
      can: c_can: Move overlay structure to array with offset as index · 33f81009
      AnilKumar Ch 提交于
      c_can uses overlay structure for accessing c_can module registers.
      With this kind of implementation it is difficult to add one more ip
      which is similar to c_can in functionality but different register
      offsets.
      
      This patch changes the overlay structure implementation to an array
      with register offset as index. This way we can overcome the above
      limitation.
      Signed-off-by: NAnilKumar Ch <anilkumar@ti.com>
      Signed-off-by: NMarc Kleine-Budde <mkl@pengutronix.de>
      33f81009
    • J
      drivers: net: Remove casts to same type · c2fd03a0
      Joe Perches 提交于
      Adding casts of objects to the same type is unnecessary
      and confusing for a human reader.
      
      For example, this cast:
      
              int y;
              int *p = (int *)&y;
      
      I used the coccinelle script below to find and remove these
      unnecessary casts.  I manually removed the conversions this
      script produces of casts with __force, __iomem and __user.
      
      @@
      type T;
      T *p;
      @@
      
      -       (T *)p
      +       p
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c2fd03a0
  16. 04 6月, 2012 2 次提交