Verify that vendor is Mellanox as the first step of initialization.
If it is not - return ENODEV.
Change module license from "GPL v2" to "Dual BSD/GPL".

Signed-off-by: Vadim Pasternak <vad...@mellanox.com>
---
 drivers/leds/leds-mlxcpld.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/leds/leds-mlxcpld.c b/drivers/leds/leds-mlxcpld.c
index 197ab9b..281482e 100644
--- a/drivers/leds/leds-mlxcpld.c
+++ b/drivers/leds/leds-mlxcpld.c
@@ -400,6 +400,9 @@ static int __init mlxcpld_led_init(void)
        struct platform_device *pdev;
        int err;
 
+       if (!dmi_match(DMI_CHASSIS_VENDOR, "Mellanox Technologies Ltd."))
+               return -ENODEV;
+
        pdev = platform_device_register_simple(KBUILD_MODNAME, -1, NULL, 0);
        if (IS_ERR(pdev)) {
                pr_err("Device allocation failed\n");
@@ -426,5 +429,5 @@ module_exit(mlxcpld_led_exit);
 
 MODULE_AUTHOR("Vadim Pasternak <vad...@mellanox.com>");
 MODULE_DESCRIPTION("Mellanox board LED driver");
-MODULE_LICENSE("GPL v2");
+MODULE_LICENSE("Dual BSD/GPL");
 MODULE_ALIAS("platform:leds_mlxcpld");
-- 
2.1.4

Reply via email to