@@ -532,15 +532,9 @@ struct cpm1_gpio16_chip {
532532 u16 cpdata ;
533533};
534534
535- static inline struct cpm1_gpio16_chip *
536- to_cpm1_gpio16_chip (struct of_mm_gpio_chip * mm_gc )
537- {
538- return container_of (mm_gc , struct cpm1_gpio16_chip , mm_gc );
539- }
540-
541535static void cpm1_gpio16_save_regs (struct of_mm_gpio_chip * mm_gc )
542536{
543- struct cpm1_gpio16_chip * cpm1_gc = to_cpm1_gpio16_chip ( mm_gc );
537+ struct cpm1_gpio16_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
544538 struct cpm_ioport16 __iomem * iop = mm_gc -> regs ;
545539
546540 cpm1_gc -> cpdata = in_be16 (& iop -> dat );
@@ -560,7 +554,7 @@ static int cpm1_gpio16_get(struct gpio_chip *gc, unsigned int gpio)
560554static void __cpm1_gpio16_set (struct of_mm_gpio_chip * mm_gc , u16 pin_mask ,
561555 int value )
562556{
563- struct cpm1_gpio16_chip * cpm1_gc = to_cpm1_gpio16_chip ( mm_gc );
557+ struct cpm1_gpio16_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
564558 struct cpm_ioport16 __iomem * iop = mm_gc -> regs ;
565559
566560 if (value )
@@ -574,7 +568,7 @@ static void __cpm1_gpio16_set(struct of_mm_gpio_chip *mm_gc, u16 pin_mask,
574568static void cpm1_gpio16_set (struct gpio_chip * gc , unsigned int gpio , int value )
575569{
576570 struct of_mm_gpio_chip * mm_gc = to_of_mm_gpio_chip (gc );
577- struct cpm1_gpio16_chip * cpm1_gc = to_cpm1_gpio16_chip ( mm_gc );
571+ struct cpm1_gpio16_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
578572 unsigned long flags ;
579573 u16 pin_mask = 1 << (15 - gpio );
580574
@@ -588,7 +582,7 @@ static void cpm1_gpio16_set(struct gpio_chip *gc, unsigned int gpio, int value)
588582static int cpm1_gpio16_dir_out (struct gpio_chip * gc , unsigned int gpio , int val )
589583{
590584 struct of_mm_gpio_chip * mm_gc = to_of_mm_gpio_chip (gc );
591- struct cpm1_gpio16_chip * cpm1_gc = to_cpm1_gpio16_chip ( mm_gc );
585+ struct cpm1_gpio16_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
592586 struct cpm_ioport16 __iomem * iop = mm_gc -> regs ;
593587 unsigned long flags ;
594588 u16 pin_mask = 1 << (15 - gpio );
@@ -606,7 +600,7 @@ static int cpm1_gpio16_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
606600static int cpm1_gpio16_dir_in (struct gpio_chip * gc , unsigned int gpio )
607601{
608602 struct of_mm_gpio_chip * mm_gc = to_of_mm_gpio_chip (gc );
609- struct cpm1_gpio16_chip * cpm1_gc = to_cpm1_gpio16_chip ( mm_gc );
603+ struct cpm1_gpio16_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
610604 struct cpm_ioport16 __iomem * iop = mm_gc -> regs ;
611605 unsigned long flags ;
612606 u16 pin_mask = 1 << (15 - gpio );
@@ -642,7 +636,7 @@ int cpm1_gpiochip_add16(struct device_node *np)
642636 gc -> get = cpm1_gpio16_get ;
643637 gc -> set = cpm1_gpio16_set ;
644638
645- return of_mm_gpiochip_add (np , mm_gc );
639+ return of_mm_gpiochip_add_data (np , mm_gc , cpm1_gc );
646640}
647641
648642struct cpm1_gpio32_chip {
@@ -653,15 +647,9 @@ struct cpm1_gpio32_chip {
653647 u32 cpdata ;
654648};
655649
656- static inline struct cpm1_gpio32_chip *
657- to_cpm1_gpio32_chip (struct of_mm_gpio_chip * mm_gc )
658- {
659- return container_of (mm_gc , struct cpm1_gpio32_chip , mm_gc );
660- }
661-
662650static void cpm1_gpio32_save_regs (struct of_mm_gpio_chip * mm_gc )
663651{
664- struct cpm1_gpio32_chip * cpm1_gc = to_cpm1_gpio32_chip ( mm_gc );
652+ struct cpm1_gpio32_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
665653 struct cpm_ioport32b __iomem * iop = mm_gc -> regs ;
666654
667655 cpm1_gc -> cpdata = in_be32 (& iop -> dat );
@@ -681,7 +669,7 @@ static int cpm1_gpio32_get(struct gpio_chip *gc, unsigned int gpio)
681669static void __cpm1_gpio32_set (struct of_mm_gpio_chip * mm_gc , u32 pin_mask ,
682670 int value )
683671{
684- struct cpm1_gpio32_chip * cpm1_gc = to_cpm1_gpio32_chip ( mm_gc );
672+ struct cpm1_gpio32_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
685673 struct cpm_ioport32b __iomem * iop = mm_gc -> regs ;
686674
687675 if (value )
@@ -695,7 +683,7 @@ static void __cpm1_gpio32_set(struct of_mm_gpio_chip *mm_gc, u32 pin_mask,
695683static void cpm1_gpio32_set (struct gpio_chip * gc , unsigned int gpio , int value )
696684{
697685 struct of_mm_gpio_chip * mm_gc = to_of_mm_gpio_chip (gc );
698- struct cpm1_gpio32_chip * cpm1_gc = to_cpm1_gpio32_chip ( mm_gc );
686+ struct cpm1_gpio32_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
699687 unsigned long flags ;
700688 u32 pin_mask = 1 << (31 - gpio );
701689
@@ -709,7 +697,7 @@ static void cpm1_gpio32_set(struct gpio_chip *gc, unsigned int gpio, int value)
709697static int cpm1_gpio32_dir_out (struct gpio_chip * gc , unsigned int gpio , int val )
710698{
711699 struct of_mm_gpio_chip * mm_gc = to_of_mm_gpio_chip (gc );
712- struct cpm1_gpio32_chip * cpm1_gc = to_cpm1_gpio32_chip ( mm_gc );
700+ struct cpm1_gpio32_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
713701 struct cpm_ioport32b __iomem * iop = mm_gc -> regs ;
714702 unsigned long flags ;
715703 u32 pin_mask = 1 << (31 - gpio );
@@ -727,7 +715,7 @@ static int cpm1_gpio32_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
727715static int cpm1_gpio32_dir_in (struct gpio_chip * gc , unsigned int gpio )
728716{
729717 struct of_mm_gpio_chip * mm_gc = to_of_mm_gpio_chip (gc );
730- struct cpm1_gpio32_chip * cpm1_gc = to_cpm1_gpio32_chip ( mm_gc );
718+ struct cpm1_gpio32_chip * cpm1_gc = gpiochip_get_data ( & mm_gc -> gc );
731719 struct cpm_ioport32b __iomem * iop = mm_gc -> regs ;
732720 unsigned long flags ;
733721 u32 pin_mask = 1 << (31 - gpio );
@@ -763,7 +751,7 @@ int cpm1_gpiochip_add32(struct device_node *np)
763751 gc -> get = cpm1_gpio32_get ;
764752 gc -> set = cpm1_gpio32_set ;
765753
766- return of_mm_gpiochip_add (np , mm_gc );
754+ return of_mm_gpiochip_add_data (np , mm_gc , cpm1_gc );
767755}
768756
769757static int cpm_init_par_io (void )
0 commit comments