{
        struct iio_dev *dev_info = dev_get_drvdata(dev);
        struct max1363_state *st = iio_dev_get_devdata(dev_info);
-       return sprintf(buf, "%s\n", st->chip_info->name);
+       return sprintf(buf, "%s\n", st->client->name);
 }
 
 static IIO_DEVICE_ATTR(name, S_IRUGO, max1363_show_name, NULL, 0);
 
 /* max1363 and max1368 tested - rest from data sheet */
 static const struct max1363_chip_info max1363_chip_info_tbl[] = {
-       {
-               .name = "max1361",
+       [max1361] = {
                .num_inputs = 4,
                .bits = 10,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1362",
+       },
+       [max1362] = {
                .num_inputs = 4,
                .bits = 10,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1363",
+       },
+       [max1363] = {
                .num_inputs = 4,
                .bits = 12,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1364",
+       },
+       [max1364] = {
                .num_inputs = 4,
                .bits = 12,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1036",
+       },
+       [max1036] = {
                .num_inputs = 4,
                .bits = 8,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1037",
+       },
+       [max1037] = {
                .num_inputs = 4,
                .bits = 8,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1038",
+       },
+       [max1038] = {
                .num_inputs = 12,
                .bits = 8,
                .int_vref_mv = 4096,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max1039",
+       },
+       [max1039] = {
                .num_inputs = 12,
                .bits = 8,
                .int_vref_mv = 2048,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max1136",
+       },
+       [max1136] = {
                .num_inputs = 4,
                .bits = 10,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1137",
+       },
+       [max1137] = {
                .num_inputs = 4,
                .bits = 10,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1138",
+       },
+       [max1138] = {
                .num_inputs = 12,
                .bits = 10,
                .int_vref_mv = 4096,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max1139",
+       },
+       [max1139] = {
                .num_inputs = 12,
                .bits = 10,
                .int_vref_mv = 2048,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max1236",
+       },
+       [max1236] = {
                .num_inputs = 4,
                .bits = 12,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1237",
+       },
+       [max1237] = {
                .num_inputs = 4,
                .bits = 12,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max1238",
+       },
+       [max1238] = {
                .num_inputs = 12,
                .bits = 12,
                .int_vref_mv = 4096,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max1239",
+       },
+       [max1239] = {
                .num_inputs = 12,
                .bits = 12,
                .int_vref_mv = 2048,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max11600",
+       },
+       [max11600] = {
                .num_inputs = 4,
                .bits = 8,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max11601",
+       },
+       [max11601] = {
                .num_inputs = 4,
                .bits = 8,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max11602",
+       },
+       [max11602] = {
                .num_inputs = 8,
                .bits = 8,
                .int_vref_mv = 4096,
                .default_mode = s0to7,
                .dev_attrs = &max11608_dev_attr_group,
                .scan_attrs = &max11608_scan_el_group,
-       }, {
-               .name = "max11603",
+       },
+       [max11603] = {
                .num_inputs = 8,
                .bits = 8,
                .int_vref_mv = 2048,
                .default_mode = s0to7,
                .dev_attrs = &max11608_dev_attr_group,
                .scan_attrs = &max11608_scan_el_group,
-       }, {
-               .name = "max11604",
+       },
+       [max11604] = {
                .num_inputs = 12,
                .bits = 8,
                .int_vref_mv = 4098,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max11605",
+       },
+       [max11605] = {
                .num_inputs = 12,
                .bits = 8,
                .int_vref_mv = 2048,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max11606",
+       },
+       [max11606] = {
                .num_inputs = 4,
                .bits = 10,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max11607",
+       },
+       [max11607] = {
                .num_inputs = 4,
                .bits = 10,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max11608",
+       },
+       [max11608] = {
                .num_inputs = 8,
                .bits = 10,
                .int_vref_mv = 4096,
                .default_mode = s0to7,
                .dev_attrs = &max11608_dev_attr_group,
                .scan_attrs = &max11608_scan_el_group,
-       }, {
-               .name = "max11609",
+       },
+       [max11609] = {
                .num_inputs = 8,
                .bits = 10,
                .int_vref_mv = 2048,
                .default_mode = s0to7,
                .dev_attrs = &max11608_dev_attr_group,
                .scan_attrs = &max11608_scan_el_group,
-       }, {
-               .name = "max11610",
+       },
+       [max11610] = {
                .num_inputs = 12,
                .bits = 10,
                .int_vref_mv = 4098,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max11611",
+       },
+       [max11611] = {
                .num_inputs = 12,
                .bits = 10,
                .int_vref_mv = 2048,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max11612",
+       },
+       [max11612] = {
                .num_inputs = 4,
                .bits = 12,
                .int_vref_mv = 4096,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max11613",
+       },
+       [max11613] = {
                .num_inputs = 4,
                .bits = 12,
                .int_vref_mv = 2048,
                .default_mode = s0to3,
                .dev_attrs = &max1363_dev_attr_group,
                .scan_attrs = &max1363_scan_el_group,
-       }, {
-               .name = "max11614",
+       },
+       [max11614] = {
                .num_inputs = 8,
                .bits = 12,
                .int_vref_mv = 4096,
                .default_mode = s0to7,
                .dev_attrs = &max11608_dev_attr_group,
                .scan_attrs = &max11608_scan_el_group,
-       }, {
-               .name = "max11615",
+       },
+       [max11615] = {
                .num_inputs = 8,
                .bits = 12,
                .int_vref_mv = 2048,
                .default_mode = s0to7,
                .dev_attrs = &max11608_dev_attr_group,
                .scan_attrs = &max11608_scan_el_group,
-       }, {
-               .name = "max11616",
+       },
+       [max11616] = {
                .num_inputs = 12,
                .bits = 12,
                .int_vref_mv = 4098,
                .default_mode = s0to11,
                .dev_attrs = &max1238_dev_attr_group,
                .scan_attrs = &max1238_scan_el_group,
-       }, {
-               .name = "max11617",
+       },
+       [max11617] = {
                .num_inputs = 12,
                .bits = 12,
                .int_vref_mv = 2048,
 
        atomic_set(&st->protect_ring, 0);
 
-       /* Find the chip model specific data */
-       for (i = 0; i < ARRAY_SIZE(max1363_chip_info_tbl); i++)
-               if (!strcmp(max1363_chip_info_tbl[i].name, id->name)) {
-                       st->chip_info = &max1363_chip_info_tbl[i];
-                       break;
-               }
-       /* Unsupported chip */
-       if (!st->chip_info) {
-               dev_err(&client->dev, "%s is not supported\n", id->name);
-               ret = -ENODEV;
-               goto error_free_st;
-       }
-
+       st->chip_info = &max1363_chip_info_tbl[id->driver_data];
        st->reg = regulator_get(&client->dev, "vcc");
        if (!IS_ERR(st->reg)) {
                ret = regulator_enable(st->reg);
 error_put_reg:
        if (!IS_ERR(st->reg))
                regulator_put(st->reg);
-error_free_st:
        kfree(st);
 
 error_ret: