Lines Matching refs:mcp

22 	struct mcp23s08		*mcp[8];  member
28 struct mcp23s08 *mcp = context; in mcp23sxx_spi_write() local
29 struct spi_device *spi = to_spi_device(mcp->dev); in mcp23sxx_spi_write()
31 struct spi_transfer t[2] = { { .tx_buf = &mcp->addr, .len = 1, }, in mcp23sxx_spi_write()
45 struct mcp23s08 *mcp = context; in mcp23sxx_spi_gather_write() local
46 struct spi_device *spi = to_spi_device(mcp->dev); in mcp23sxx_spi_gather_write()
48 struct spi_transfer t[3] = { { .tx_buf = &mcp->addr, .len = 1, }, in mcp23sxx_spi_gather_write()
63 struct mcp23s08 *mcp = context; in mcp23sxx_spi_read() local
64 struct spi_device *spi = to_spi_device(mcp->dev); in mcp23sxx_spi_read()
70 tx[0] = mcp->addr | 0x01; in mcp23sxx_spi_read()
82 static int mcp23s08_spi_regmap_init(struct mcp23s08 *mcp, struct device *dev, in mcp23s08_spi_regmap_init() argument
91 mcp->reg_shift = 0; in mcp23s08_spi_regmap_init()
92 mcp->chip.ngpio = 8; in mcp23s08_spi_regmap_init()
93 mcp->chip.label = devm_kasprintf(dev, GFP_KERNEL, "mcp23s08.%d", addr); in mcp23s08_spi_regmap_init()
100 mcp->reg_shift = 1; in mcp23s08_spi_regmap_init()
101 mcp->chip.ngpio = 16; in mcp23s08_spi_regmap_init()
102 mcp->chip.label = devm_kasprintf(dev, GFP_KERNEL, "mcp23s17.%d", addr); in mcp23s08_spi_regmap_init()
109 mcp->reg_shift = 1; in mcp23s08_spi_regmap_init()
110 mcp->chip.ngpio = 16; in mcp23s08_spi_regmap_init()
111 mcp->chip.label = "mcp23s18"; in mcp23s08_spi_regmap_init()
128 mcp->regmap = devm_regmap_init(dev, &mcp23sxx_spi_regmap, mcp, copy); in mcp23s08_spi_regmap_init()
129 if (IS_ERR(mcp->regmap)) in mcp23s08_spi_regmap_init()
130 dev_err(dev, "regmap init failed for %s\n", mcp->chip.label); in mcp23s08_spi_regmap_init()
131 return PTR_ERR_OR_ZERO(mcp->regmap); in mcp23s08_spi_regmap_init()
177 data->mcp[addr] = &data->chip[--chips]; in mcp23s08_probe()
178 data->mcp[addr]->irq = spi->irq; in mcp23s08_probe()
180 ret = mcp23s08_spi_regmap_init(data->mcp[addr], dev, addr, type); in mcp23s08_probe()
184 data->mcp[addr]->pinctrl_desc.name = devm_kasprintf(dev, GFP_KERNEL, in mcp23s08_probe()
187 if (!data->mcp[addr]->pinctrl_desc.name) in mcp23s08_probe()
190 ret = mcp23s08_probe_one(data->mcp[addr], dev, 0x40 | (addr << 1), type, -1); in mcp23s08_probe()
194 ngpio += data->mcp[addr]->chip.ngpio; in mcp23s08_probe()