Skip to content

Commit cbeb479

Browse files
aleksamagickagroeck
authored andcommitted
hwmon: (nzxt-kraken3) Decouple device names from kinds
Prepare for the support of new models, for which the relationship between device name (for hwmon and debugfs) and kind (for the selection of appropriate code paths within this driver) will no longer be 1:1. Originally-from: Jonas Malaco <jonas@protocubo.io> Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com> Link: https://lore.kernel.org/r/20240428104812.14037-2-savicaleksa83@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
1 parent 79a4c23 commit cbeb479

1 file changed

Lines changed: 7 additions & 10 deletions

File tree

drivers/hwmon/nzxt-kraken3.c

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@
2727
enum kinds { X53, Z53 } __packed;
2828
enum pwm_enable { off, manual, curve } __packed;
2929

30-
static const char *const kraken3_device_names[] = {
31-
[X53] = "x53",
32-
[Z53] = "z53",
33-
};
34-
3530
#define DRIVER_NAME "nzxt_kraken3"
3631
#define STATUS_REPORT_ID 0x75
3732
#define FIRMWARE_REPORT_ID 0x11
@@ -849,14 +844,14 @@ static int firmware_version_show(struct seq_file *seqf, void *unused)
849844
}
850845
DEFINE_SHOW_ATTRIBUTE(firmware_version);
851846

852-
static void kraken3_debugfs_init(struct kraken3_data *priv)
847+
static void kraken3_debugfs_init(struct kraken3_data *priv, const char *device_name)
853848
{
854849
char name[64];
855850

856851
if (!priv->firmware_version[0])
857852
return; /* Nothing to display in debugfs */
858853

859-
scnprintf(name, sizeof(name), "%s_%s-%s", DRIVER_NAME, kraken3_device_names[priv->kind],
854+
scnprintf(name, sizeof(name), "%s_%s-%s", DRIVER_NAME, device_name,
860855
dev_name(&priv->hdev->dev));
861856

862857
priv->debugfs = debugfs_create_dir(name, NULL);
@@ -866,6 +861,7 @@ static void kraken3_debugfs_init(struct kraken3_data *priv)
866861
static int kraken3_probe(struct hid_device *hdev, const struct hid_device_id *id)
867862
{
868863
struct kraken3_data *priv;
864+
const char *device_name;
869865
int ret;
870866

871867
priv = devm_kzalloc(&hdev->dev, sizeof(*priv), GFP_KERNEL);
@@ -905,9 +901,11 @@ static int kraken3_probe(struct hid_device *hdev, const struct hid_device_id *id
905901
case USB_PRODUCT_ID_X53:
906902
case USB_PRODUCT_ID_X53_SECOND:
907903
priv->kind = X53;
904+
device_name = "x53";
908905
break;
909906
case USB_PRODUCT_ID_Z53:
910907
priv->kind = Z53;
908+
device_name = "z53";
911909
break;
912910
default:
913911
break;
@@ -936,16 +934,15 @@ static int kraken3_probe(struct hid_device *hdev, const struct hid_device_id *id
936934
if (ret < 0)
937935
hid_warn(hdev, "fw version request failed with %d\n", ret);
938936

939-
priv->hwmon_dev = hwmon_device_register_with_info(&hdev->dev,
940-
kraken3_device_names[priv->kind], priv,
937+
priv->hwmon_dev = hwmon_device_register_with_info(&hdev->dev, device_name, priv,
941938
&kraken3_chip_info, kraken3_groups);
942939
if (IS_ERR(priv->hwmon_dev)) {
943940
ret = PTR_ERR(priv->hwmon_dev);
944941
hid_err(hdev, "hwmon registration failed with %d\n", ret);
945942
goto fail_and_close;
946943
}
947944

948-
kraken3_debugfs_init(priv);
945+
kraken3_debugfs_init(priv, device_name);
949946

950947
return 0;
951948

0 commit comments

Comments
 (0)