@ -41,7 +41,7 @@ struct octeon_gpio {
static int octeon_gpio_dir_in ( struct gpio_chip * chip , unsigned offset )
{
struct octeon_gpio * gpio = container_of ( chip , struct octeon_gpio , chip ) ;
struct octeon_gpio * gpio = gpiochip_get_data ( chip ) ;
cvmx_write_csr ( gpio - > register_base + bit_cfg_reg ( offset ) , 0 ) ;
return 0 ;
@ -49,7 +49,7 @@ static int octeon_gpio_dir_in(struct gpio_chip *chip, unsigned offset)
static void octeon_gpio_set ( struct gpio_chip * chip , unsigned offset , int value )
{
struct octeon_gpio * gpio = container_of ( chip , struct octeon_gpio , chip ) ;
struct octeon_gpio * gpio = gpiochip_get_data ( chip ) ;
u64 mask = 1ull < < offset ;
u64 reg = gpio - > register_base + ( value ? TX_SET : TX_CLEAR ) ;
cvmx_write_csr ( reg , mask ) ;
@ -58,7 +58,7 @@ static void octeon_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
static int octeon_gpio_dir_out ( struct gpio_chip * chip , unsigned offset ,
int value )
{
struct octeon_gpio * gpio = container_of ( chip , struct octeon_gpio , chip ) ;
struct octeon_gpio * gpio = gpiochip_get_data ( chip ) ;
union cvmx_gpio_bit_cfgx cfgx ;
octeon_gpio_set ( chip , offset , value ) ;
@ -72,7 +72,7 @@ static int octeon_gpio_dir_out(struct gpio_chip *chip, unsigned offset,
static int octeon_gpio_get ( struct gpio_chip * chip , unsigned offset )
{
struct octeon_gpio * gpio = container_of ( chip , struct octeon_gpio , chip ) ;
struct octeon_gpio * gpio = gpiochip_get_data ( chip ) ;
u64 read_bits = cvmx_read_csr ( gpio - > register_base + RX_DAT ) ;
return ( ( 1ull < < offset ) & read_bits ) ! = 0 ;
@ -117,7 +117,7 @@ static int octeon_gpio_probe(struct platform_device *pdev)
chip - > get = octeon_gpio_get ;
chip - > direction_output = octeon_gpio_dir_out ;
chip - > set = octeon_gpio_set ;
err = gpiochip_add ( chip ) ;
err = gpiochip_add_data ( chip , gpio ) ;
if ( err )
goto out ;