sgpio 410 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_to_bank(struct sirfsoc_gpio_chip *sgpio, unsigned int offset) sgpio 412 drivers/pinctrl/sirf/pinctrl-sirf.c return &sgpio->sgpio_bank[offset / SIRFSOC_GPIO_BANK_SIZE]; sgpio 423 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(gc); sgpio 424 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); sgpio 431 drivers/pinctrl/sirf/pinctrl-sirf.c spin_lock_irqsave(&sgpio->lock, flags); sgpio 433 drivers/pinctrl/sirf/pinctrl-sirf.c val = readl(sgpio->chip.regs + offset); sgpio 435 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + offset); sgpio 437 drivers/pinctrl/sirf/pinctrl-sirf.c spin_unlock_irqrestore(&sgpio->lock, flags); sgpio 440 drivers/pinctrl/sirf/pinctrl-sirf.c static void __sirfsoc_gpio_irq_mask(struct sirfsoc_gpio_chip *sgpio, sgpio 449 drivers/pinctrl/sirf/pinctrl-sirf.c spin_lock_irqsave(&sgpio->lock, flags); sgpio 451 drivers/pinctrl/sirf/pinctrl-sirf.c val = readl(sgpio->chip.regs + offset); sgpio 454 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + offset); sgpio 456 drivers/pinctrl/sirf/pinctrl-sirf.c spin_unlock_irqrestore(&sgpio->lock, flags); sgpio 462 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(gc); sgpio 463 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); sgpio 465 drivers/pinctrl/sirf/pinctrl-sirf.c __sirfsoc_gpio_irq_mask(sgpio, bank, d->hwirq % SIRFSOC_GPIO_BANK_SIZE); sgpio 471 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(gc); sgpio 472 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); sgpio 479 drivers/pinctrl/sirf/pinctrl-sirf.c spin_lock_irqsave(&sgpio->lock, flags); sgpio 481 drivers/pinctrl/sirf/pinctrl-sirf.c val = readl(sgpio->chip.regs + offset); sgpio 484 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + offset); sgpio 486 drivers/pinctrl/sirf/pinctrl-sirf.c spin_unlock_irqrestore(&sgpio->lock, flags); sgpio 492 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(gc); sgpio 493 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, d->hwirq); sgpio 500 drivers/pinctrl/sirf/pinctrl-sirf.c spin_lock_irqsave(&sgpio->lock, flags); sgpio 502 drivers/pinctrl/sirf/pinctrl-sirf.c val = readl(sgpio->chip.regs + offset); sgpio 535 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + offset); sgpio 537 drivers/pinctrl/sirf/pinctrl-sirf.c spin_unlock_irqrestore(&sgpio->lock, flags); sgpio 554 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(gc); sgpio 562 drivers/pinctrl/sirf/pinctrl-sirf.c bank = &sgpio->sgpio_bank[i]; sgpio 570 drivers/pinctrl/sirf/pinctrl-sirf.c status = readl(sgpio->chip.regs + SIRFSOC_GPIO_INT_STATUS(bank->id)); sgpio 580 drivers/pinctrl/sirf/pinctrl-sirf.c ctrl = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, idx)); sgpio 600 drivers/pinctrl/sirf/pinctrl-sirf.c static inline void sirfsoc_gpio_set_input(struct sirfsoc_gpio_chip *sgpio, sgpio 605 drivers/pinctrl/sirf/pinctrl-sirf.c val = readl(sgpio->chip.regs + ctrl_offset); sgpio 607 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + ctrl_offset); sgpio 612 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(chip); sgpio 613 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); sgpio 625 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_set_input(sgpio, SIRFSOC_GPIO_CTRL(bank->id, offset)); sgpio 626 drivers/pinctrl/sirf/pinctrl-sirf.c __sirfsoc_gpio_irq_mask(sgpio, bank, offset); sgpio 635 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(chip); sgpio 636 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); sgpio 641 drivers/pinctrl/sirf/pinctrl-sirf.c __sirfsoc_gpio_irq_mask(sgpio, bank, offset); sgpio 642 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_set_input(sgpio, SIRFSOC_GPIO_CTRL(bank->id, offset)); sgpio 651 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(chip); sgpio 652 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, gpio); sgpio 661 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_set_input(sgpio, offset); sgpio 668 drivers/pinctrl/sirf/pinctrl-sirf.c static inline void sirfsoc_gpio_set_output(struct sirfsoc_gpio_chip *sgpio, sgpio 678 drivers/pinctrl/sirf/pinctrl-sirf.c out_ctrl = readl(sgpio->chip.regs + offset); sgpio 686 drivers/pinctrl/sirf/pinctrl-sirf.c writel(out_ctrl, sgpio->chip.regs + offset); sgpio 694 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(chip); sgpio 695 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, gpio); sgpio 702 drivers/pinctrl/sirf/pinctrl-sirf.c spin_lock_irqsave(&sgpio->lock, flags); sgpio 704 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_set_output(sgpio, bank, offset, value); sgpio 706 drivers/pinctrl/sirf/pinctrl-sirf.c spin_unlock_irqrestore(&sgpio->lock, flags); sgpio 713 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(chip); sgpio 714 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); sgpio 720 drivers/pinctrl/sirf/pinctrl-sirf.c val = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); sgpio 730 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio = gpiochip_get_data(chip); sgpio 731 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_bank *bank = sirfsoc_gpio_to_bank(sgpio, offset); sgpio 737 drivers/pinctrl/sirf/pinctrl-sirf.c ctrl = readl(sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); sgpio 742 drivers/pinctrl/sirf/pinctrl-sirf.c writel(ctrl, sgpio->chip.regs + SIRFSOC_GPIO_CTRL(bank->id, offset)); sgpio 747 drivers/pinctrl/sirf/pinctrl-sirf.c static void sirfsoc_gpio_set_pullup(struct sirfsoc_gpio_chip *sgpio, sgpio 756 drivers/pinctrl/sirf/pinctrl-sirf.c u32 val = readl(sgpio->chip.regs + offset); sgpio 759 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + offset); sgpio 764 drivers/pinctrl/sirf/pinctrl-sirf.c static void sirfsoc_gpio_set_pulldown(struct sirfsoc_gpio_chip *sgpio, sgpio 773 drivers/pinctrl/sirf/pinctrl-sirf.c u32 val = readl(sgpio->chip.regs + offset); sgpio 776 drivers/pinctrl/sirf/pinctrl-sirf.c writel(val, sgpio->chip.regs + offset); sgpio 784 drivers/pinctrl/sirf/pinctrl-sirf.c struct sirfsoc_gpio_chip *sgpio; sgpio 795 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio = devm_kzalloc(&pdev->dev, sizeof(*sgpio), GFP_KERNEL); sgpio 796 drivers/pinctrl/sirf/pinctrl-sirf.c if (!sgpio) sgpio 798 drivers/pinctrl/sirf/pinctrl-sirf.c spin_lock_init(&sgpio->lock); sgpio 804 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.request = sirfsoc_gpio_request; sgpio 805 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.free = sirfsoc_gpio_free; sgpio 806 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.direction_input = sirfsoc_gpio_direction_input; sgpio 807 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.get = sirfsoc_gpio_get_value; sgpio 808 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.direction_output = sirfsoc_gpio_direction_output; sgpio 809 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.set = sirfsoc_gpio_set_value; sgpio 810 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.base = 0; sgpio 811 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS; sgpio 812 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np); sgpio 813 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.of_node = np; sgpio 814 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate; sgpio 815 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.of_gpio_n_cells = 2; sgpio 816 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.gc.parent = &pdev->dev; sgpio 817 drivers/pinctrl/sirf/pinctrl-sirf.c sgpio->chip.regs = regs; sgpio 819 drivers/pinctrl/sirf/pinctrl-sirf.c err = gpiochip_add_data(&sgpio->chip.gc, sgpio); sgpio 826 drivers/pinctrl/sirf/pinctrl-sirf.c err = gpiochip_irqchip_add(&sgpio->chip.gc, sgpio 837 drivers/pinctrl/sirf/pinctrl-sirf.c bank = &sgpio->sgpio_bank[i]; sgpio 845 drivers/pinctrl/sirf/pinctrl-sirf.c gpiochip_set_chained_irqchip(&sgpio->chip.gc, sgpio 851 drivers/pinctrl/sirf/pinctrl-sirf.c err = gpiochip_add_pin_range(&sgpio->chip.gc, dev_name(&pdev->dev), sgpio 861 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_set_pullup(sgpio, pullups); sgpio 865 drivers/pinctrl/sirf/pinctrl-sirf.c sirfsoc_gpio_set_pulldown(sgpio, pulldowns); sgpio 871 drivers/pinctrl/sirf/pinctrl-sirf.c gpiochip_remove(&sgpio->chip.gc); sgpio 1247 drivers/scsi/isci/host.c writel(SGPIO_HW_CONTROL, &ihost->scu_registers->peg0.sgpio.output_data_select[i]); sgpio 1267 drivers/scsi/isci/host.c writel(0, &ihost->scu_registers->peg0.sgpio.interface_control); sgpio 2373 drivers/scsi/isci/host.c writel(1, &ihost->scu_registers->peg0.sgpio.interface_control); sgpio 2375 drivers/scsi/isci/host.c writel(SGPIO_HW_CONTROL, &ihost->scu_registers->peg0.sgpio.output_data_select[i]); sgpio 2376 drivers/scsi/isci/host.c writel(0, &ihost->scu_registers->peg0.sgpio.vendor_specific_code); sgpio 2783 drivers/scsi/isci/host.c writel(val, &ihost->scu_registers->peg0.sgpio.output_data_select[d]); sgpio 442 drivers/scsi/isci/host.h return ARRAY_SIZE(ihost->scu_registers->peg0.sgpio.output_data_select); sgpio 1822 drivers/scsi/isci/registers.h struct scu_sgpio_registers sgpio;