spics 65 drivers/gpio/gpio-spear-spics.c struct spear_spics *spics = gpiochip_get_data(chip); spics 69 drivers/gpio/gpio-spear-spics.c tmp = readl_relaxed(spics->base + spics->perip_cfg); spics 70 drivers/gpio/gpio-spear-spics.c if (spics->last_off != offset) { spics 71 drivers/gpio/gpio-spear-spics.c spics->last_off = offset; spics 72 drivers/gpio/gpio-spear-spics.c tmp &= ~(spics->cs_enable_mask << spics->cs_enable_shift); spics 73 drivers/gpio/gpio-spear-spics.c tmp |= offset << spics->cs_enable_shift; spics 77 drivers/gpio/gpio-spear-spics.c tmp &= ~(0x1 << spics->cs_value_bit); spics 78 drivers/gpio/gpio-spear-spics.c tmp |= value << spics->cs_value_bit; spics 79 drivers/gpio/gpio-spear-spics.c writel_relaxed(tmp, spics->base + spics->perip_cfg); spics 96 drivers/gpio/gpio-spear-spics.c struct spear_spics *spics = gpiochip_get_data(chip); spics 99 drivers/gpio/gpio-spear-spics.c if (!spics->use_count++) { spics 100 drivers/gpio/gpio-spear-spics.c tmp = readl_relaxed(spics->base + spics->perip_cfg); spics 101 drivers/gpio/gpio-spear-spics.c tmp |= 0x1 << spics->sw_enable_bit; spics 102 drivers/gpio/gpio-spear-spics.c tmp |= 0x1 << spics->cs_value_bit; spics 103 drivers/gpio/gpio-spear-spics.c writel_relaxed(tmp, spics->base + spics->perip_cfg); spics 111 drivers/gpio/gpio-spear-spics.c struct spear_spics *spics = gpiochip_get_data(chip); spics 114 drivers/gpio/gpio-spear-spics.c if (!--spics->use_count) { spics 115 drivers/gpio/gpio-spear-spics.c tmp = readl_relaxed(spics->base + spics->perip_cfg); spics 116 drivers/gpio/gpio-spear-spics.c tmp &= ~(0x1 << spics->sw_enable_bit); spics 117 drivers/gpio/gpio-spear-spics.c writel_relaxed(tmp, spics->base + spics->perip_cfg); spics 124 drivers/gpio/gpio-spear-spics.c struct spear_spics *spics; spics 127 drivers/gpio/gpio-spear-spics.c spics = devm_kzalloc(&pdev->dev, sizeof(*spics), GFP_KERNEL); spics 128 drivers/gpio/gpio-spear-spics.c if (!spics) spics 131 drivers/gpio/gpio-spear-spics.c spics->base = devm_platform_ioremap_resource(pdev, 0); spics 132 drivers/gpio/gpio-spear-spics.c if (IS_ERR(spics->base)) spics 133 drivers/gpio/gpio-spear-spics.c return PTR_ERR(spics->base); spics 136 drivers/gpio/gpio-spear-spics.c &spics->perip_cfg)) spics 139 drivers/gpio/gpio-spear-spics.c &spics->sw_enable_bit)) spics 142 drivers/gpio/gpio-spear-spics.c &spics->cs_value_bit)) spics 145 drivers/gpio/gpio-spear-spics.c &spics->cs_enable_mask)) spics 148 drivers/gpio/gpio-spear-spics.c &spics->cs_enable_shift)) spics 151 drivers/gpio/gpio-spear-spics.c platform_set_drvdata(pdev, spics); spics 153 drivers/gpio/gpio-spear-spics.c spics->chip.ngpio = NUM_OF_GPIO; spics 154 drivers/gpio/gpio-spear-spics.c spics->chip.base = -1; spics 155 drivers/gpio/gpio-spear-spics.c spics->chip.request = spics_request; spics 156 drivers/gpio/gpio-spear-spics.c spics->chip.free = spics_free; spics 157 drivers/gpio/gpio-spear-spics.c spics->chip.direction_input = spics_direction_input; spics 158 drivers/gpio/gpio-spear-spics.c spics->chip.direction_output = spics_direction_output; spics 159 drivers/gpio/gpio-spear-spics.c spics->chip.get = spics_get_value; spics 160 drivers/gpio/gpio-spear-spics.c spics->chip.set = spics_set_value; spics 161 drivers/gpio/gpio-spear-spics.c spics->chip.label = dev_name(&pdev->dev); spics 162 drivers/gpio/gpio-spear-spics.c spics->chip.parent = &pdev->dev; spics 163 drivers/gpio/gpio-spear-spics.c spics->chip.owner = THIS_MODULE; spics 164 drivers/gpio/gpio-spear-spics.c spics->last_off = -1; spics 166 drivers/gpio/gpio-spear-spics.c ret = devm_gpiochip_add_data(&pdev->dev, &spics->chip, spics);