• Jesper Nilsson's avatar
    CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup. · a34d2442
    Jesper Nilsson authored
    Changes as suggested by Andrew Morton, plus general cleanup to
    ease later consolidation of driver into machine common driver.
    
    - Correct parameter type of gpio_write to const char __user *
    - Remove volatile from the arrays of machine dependent registers, use
      readl and writel to access them instead.
    - Remove useless casts of void.
    - Use spin_lock_irqsave for locking.
    - Break gpio_write into smaller sub-functions.
    - Remove useless breaks after returns.
    - Don't perform any change in IO_CFG_WRITE_MODE if values are invalid.
      (previously values were set and then set to zero)
    - Change cast for copy_to_user to (void __user *)
    - Make file_operations gpio_fops static and const.
    - Make setget_output static. (However, it's still inline since the CRIS
      architecture is still not SMP, which makes the function small enough
      to inline)
    a34d2442
gpio.c 24.8 KB