Lines Matching defs:mc
43 static int mc33880_write_config(struct mc33880 *mc)
45 return spi_write(mc->spi, &mc->port_config, sizeof(mc->port_config));
49 static int __mc33880_set(struct mc33880 *mc, unsigned offset, int value)
52 mc->port_config |= 1 << offset;
54 mc->port_config &= ~(1 << offset);
56 return mc33880_write_config(mc);
62 struct mc33880 *mc = gpiochip_get_data(chip);
64 mutex_lock(&mc->lock);
66 __mc33880_set(mc, offset, value);
68 mutex_unlock(&mc->lock);
73 struct mc33880 *mc;
92 mc = devm_kzalloc(&spi->dev, sizeof(struct mc33880), GFP_KERNEL);
93 if (!mc)
96 mutex_init(&mc->lock);
98 spi_set_drvdata(spi, mc);
100 mc->spi = spi;
102 mc->chip.label = DRIVER_NAME,
103 mc->chip.set = mc33880_set;
104 mc->chip.base = pdata->base;
105 mc->chip.ngpio = PIN_NUMBER;
106 mc->chip.can_sleep = true;
107 mc->chip.parent = &spi->dev;
108 mc->chip.owner = THIS_MODULE;
110 mc->port_config = 0x00;
115 ret = mc33880_write_config(mc);
116 mc->port_config = 0x00;
118 ret = mc33880_write_config(mc);
126 ret = gpiochip_add_data(&mc->chip, mc);
133 mutex_destroy(&mc->lock);
139 struct mc33880 *mc;
141 mc = spi_get_drvdata(spi);
143 gpiochip_remove(&mc->chip);
144 mutex_destroy(&mc->lock);