pcf8574.c (fe6d4434d2531f8bc6fffc7878c801e8d8190c5d) pcf8574.c (e3d0814368d00e7985c31edf5d0cfce45972d4be)
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3/*
4 * NXP PCF8574 8-port I2C GPIO expansion chip.
5 * Copyright (c) 2024 KNS Group (YADRO).
6 * Written by Dmitrii Sharikhin <d.sharikhin@yadro.com>
7 */
8

--- 132 unchanged lines hidden (view full) ---

141static void pcf8574_class_init(ObjectClass *klass, void *data)
142{
143 DeviceClass *dc = DEVICE_CLASS(klass);
144 I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
145
146 k->recv = pcf8574_rx;
147 k->send = pcf8574_tx;
148 dc->realize = pcf8574_realize;
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3/*
4 * NXP PCF8574 8-port I2C GPIO expansion chip.
5 * Copyright (c) 2024 KNS Group (YADRO).
6 * Written by Dmitrii Sharikhin <d.sharikhin@yadro.com>
7 */
8

--- 132 unchanged lines hidden (view full) ---

141static void pcf8574_class_init(ObjectClass *klass, void *data)
142{
143 DeviceClass *dc = DEVICE_CLASS(klass);
144 I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
145
146 k->recv = pcf8574_rx;
147 k->send = pcf8574_tx;
148 dc->realize = pcf8574_realize;
149 dc->reset = pcf8574_reset;
149 device_class_set_legacy_reset(dc, pcf8574_reset);
150 dc->vmsd = &vmstate_pcf8574;
151}
152
153static const TypeInfo pcf8574_infos[] = {
154 {
155 .name = TYPE_PCF8574,
156 .parent = TYPE_I2C_SLAVE,
157 .instance_size = sizeof(PCF8574State),
158 .class_init = pcf8574_class_init,
159 }
160};
161
162DEFINE_TYPES(pcf8574_infos);
150 dc->vmsd = &vmstate_pcf8574;
151}
152
153static const TypeInfo pcf8574_infos[] = {
154 {
155 .name = TYPE_PCF8574,
156 .parent = TYPE_I2C_SLAVE,
157 .instance_size = sizeof(PCF8574State),
158 .class_init = pcf8574_class_init,
159 }
160};
161
162DEFINE_TYPES(pcf8574_infos);