@@ -34,11 +34,6 @@
#define LTC_GPIO_ALL_INPUT 0xC0
#define LTC_SWITCH_MASK 0xF0
-enum ltc_type {
- ltc_4305,
- ltc_4306,
-};
-
struct chip_desc {
u8 nchans;
u8 num_gpios;
@@ -50,14 +45,13 @@ struct ltc4306 {
const struct chip_desc *chip;
};
-static const struct chip_desc chips[] = {
- [ltc_4305] = {
- .nchans = LTC4305_MAX_NCHANS,
- },
- [ltc_4306] = {
- .nchans = LTC4306_MAX_NCHANS,
- .num_gpios = 2,
- },
+static const struct chip_desc ltc_4305_chip = {
+ .nchans = LTC4305_MAX_NCHANS
+};
+
+static const struct chip_desc ltc_4306_chip = {
+ .nchans = LTC4306_MAX_NCHANS,
+ .num_gpios = 2
};
static bool ltc4306_is_volatile_reg(struct device *dev, unsigned int reg)
@@ -192,15 +186,15 @@ static int ltc4306_deselect_mux(struct i2c_mux_core *muxc, u32 chan)
}
static const struct i2c_device_id ltc4306_id[] = {
- { "ltc4305", .driver_data = (kernel_ulong_t)&chips[ltc_4305] },
- { "ltc4306", .driver_data = (kernel_ulong_t)&chips[ltc_4306] },
+ { "ltc4305", .driver_data = (kernel_ulong_t)<c_4305_chip },
+ { "ltc4306", .driver_data = (kernel_ulong_t)<c_4306_chip },
{ }
};
MODULE_DEVICE_TABLE(i2c, ltc4306_id);
static const struct of_device_id ltc4306_of_match[] = {
- { .compatible = "lltc,ltc4305", .data = &chips[ltc_4305] },
- { .compatible = "lltc,ltc4306", .data = &chips[ltc_4306] },
+ { .compatible = "lltc,ltc4305", .data = <c_4305_chip },
+ { .compatible = "lltc,ltc4306", .data = <c_4306_chip },
{ }
};
MODULE_DEVICE_TABLE(of, ltc4306_of_match);
Drop enum ltc_type and split the array chips[] as individual variables, and make lines shorter by referring to e.g. <c_4305_chip instead of &chips[ltc_4305]. Suggested-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v2: * New patch --- drivers/i2c/muxes/i2c-mux-ltc4306.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-)