Lines Matching refs:mcp

22 	struct mcp23s08		*mcp[8];
28 struct mcp23s08 *mcp = context;
29 struct spi_device *spi = to_spi_device(mcp->dev);
31 struct spi_transfer t[2] = { { .tx_buf = &mcp->addr, .len = 1, },
45 struct mcp23s08 *mcp = context;
46 struct spi_device *spi = to_spi_device(mcp->dev);
48 struct spi_transfer t[3] = { { .tx_buf = &mcp->addr, .len = 1, },
63 struct mcp23s08 *mcp = context;
64 struct spi_device *spi = to_spi_device(mcp->dev);
70 tx[0] = mcp->addr | 0x01;
82 static int mcp23s08_spi_regmap_init(struct mcp23s08 *mcp, struct device *dev,
91 mcp->reg_shift = 0;
92 mcp->chip.ngpio = 8;
93 mcp->chip.label = devm_kasprintf(dev, GFP_KERNEL, "mcp23s08.%d", addr);
94 if (!mcp->chip.label)
105 mcp->reg_shift = 1;
106 mcp->chip.ngpio = 16;
107 mcp->chip.label = devm_kasprintf(dev, GFP_KERNEL, "mcp23s17.%d", addr);
108 if (!mcp->chip.label)
119 mcp->reg_shift = 1;
120 mcp->chip.ngpio = 16;
121 mcp->chip.label = "mcp23s18";
138 mcp->regmap = devm_regmap_init(dev, &mcp23sxx_spi_regmap, mcp, copy);
139 if (IS_ERR(mcp->regmap))
140 dev_err(dev, "regmap init failed for %s\n", mcp->chip.label);
141 return PTR_ERR_OR_ZERO(mcp->regmap);
165 ret = device_property_read_u32(dev, "mcp,spi-present-mask", &v);
187 data->mcp[addr] = &data->chip[--chips];
188 data->mcp[addr]->irq = spi->irq;
190 ret = mcp23s08_spi_regmap_init(data->mcp[addr], dev, addr, type);
194 data->mcp[addr]->pinctrl_desc.name = devm_kasprintf(dev, GFP_KERNEL,
197 if (!data->mcp[addr]->pinctrl_desc.name)
200 ret = mcp23s08_probe_one(data->mcp[addr], dev, 0x40 | (addr << 1), type, -1);
204 ngpio += data->mcp[addr]->chip.ngpio;
232 /* NOTE: The use of the mcp prefix is deprecated and will be removed. */
234 .compatible = "mcp,mcp23s08",
238 .compatible = "mcp,mcp23s17",