diff mbox series

hwmon: (amc6821) add of_match table

Message ID 20240307-amc6821-of-match-v1-1-5f40464a3110@solid-run.com (mailing list archive)
State Accepted
Headers show
Series hwmon: (amc6821) add of_match table | expand

Commit Message

Josua Mayer March 7, 2024, 11:06 a.m. UTC
Add of_match table for "ti,amc6821" compatible string.
This fixes automatic driver loading by userspace when using device-tree,
and if built as a module like major linux distributions do.

While devices probe just fine with i2c_device_id table, userspace can't
match the "ti,amc6821" compatible string from dt with the plain
"amc6821" device id. COnsequently kernel module ca not be loaded.

Cc: stable@vger.kernel.org
Signed-off-by: Josua Mayer <josua@solid-run.com>
---
Bcc: Rabeeh Khoury <rabeeh@solid-run.com>
---
 drivers/hwmon/amc6821.c | 11 +++++++++++
 1 file changed, 11 insertions(+)


---
base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d
change-id: 20240307-amc6821-of-match-3e3308fbf133

Best regards,

Comments

Guenter Roeck March 7, 2024, 5:19 p.m. UTC | #1
On Thu, Mar 07, 2024 at 12:06:58PM +0100, Josua Mayer wrote:
> Add of_match table for "ti,amc6821" compatible string.
> This fixes automatic driver loading by userspace when using device-tree,
> and if built as a module like major linux distributions do.
> 
> While devices probe just fine with i2c_device_id table, userspace can't
> match the "ti,amc6821" compatible string from dt with the plain
> "amc6821" device id. COnsequently kernel module ca not be loaded.

Applied, after cleaning up the last sentence above.

Guenter
diff mbox series

Patch

diff --git a/drivers/hwmon/amc6821.c b/drivers/hwmon/amc6821.c
index 2a7a4b6b0094..9b02b304c2f5 100644
--- a/drivers/hwmon/amc6821.c
+++ b/drivers/hwmon/amc6821.c
@@ -934,10 +934,21 @@  static const struct i2c_device_id amc6821_id[] = {
 
 MODULE_DEVICE_TABLE(i2c, amc6821_id);
 
+static const struct of_device_id __maybe_unused amc6821_of_match[] = {
+	{
+		.compatible = "ti,amc6821",
+		.data = (void *)amc6821,
+	},
+	{ }
+};
+
+MODULE_DEVICE_TABLE(of, amc6821_of_match);
+
 static struct i2c_driver amc6821_driver = {
 	.class = I2C_CLASS_HWMON,
 	.driver = {
 		.name	= "amc6821",
+		.of_match_table = of_match_ptr(amc6821_of_match),
 	},
 	.probe = amc6821_probe,
 	.id_table = amc6821_id,