Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hwmon: (mlxreg-fan) Use devm_thermal_of_cooling_device_register

Call devm_thermal_of_cooling_device_register() to register the cooling
device. Also introduce struct device *dev = &pdev->dev; to make the code
easier to read.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>

authored by

Guenter Roeck and committed by
Eduardo Valentin
9ebe010e 95347845

+10 -21
+10 -21
drivers/hwmon/mlxreg-fan.c
··· 420 420 static int mlxreg_fan_probe(struct platform_device *pdev) 421 421 { 422 422 struct mlxreg_core_platform_data *pdata; 423 + struct device *dev = &pdev->dev; 423 424 struct mlxreg_fan *fan; 424 425 struct device *hwm; 425 426 int err; 426 427 427 - pdata = dev_get_platdata(&pdev->dev); 428 + pdata = dev_get_platdata(dev); 428 429 if (!pdata) { 429 - dev_err(&pdev->dev, "Failed to get platform data.\n"); 430 + dev_err(dev, "Failed to get platform data.\n"); 430 431 return -EINVAL; 431 432 } 432 433 433 - fan = devm_kzalloc(&pdev->dev, sizeof(*fan), GFP_KERNEL); 434 + fan = devm_kzalloc(dev, sizeof(*fan), GFP_KERNEL); 434 435 if (!fan) 435 436 return -ENOMEM; 436 437 437 - fan->dev = &pdev->dev; 438 + fan->dev = dev; 438 439 fan->regmap = pdata->regmap; 439 - platform_set_drvdata(pdev, fan); 440 440 441 441 err = mlxreg_fan_config(fan, pdata); 442 442 if (err) 443 443 return err; 444 444 445 - hwm = devm_hwmon_device_register_with_info(&pdev->dev, "mlxreg_fan", 445 + hwm = devm_hwmon_device_register_with_info(dev, "mlxreg_fan", 446 446 fan, 447 447 &mlxreg_fan_hwmon_chip_info, 448 448 NULL); 449 449 if (IS_ERR(hwm)) { 450 - dev_err(&pdev->dev, "Failed to register hwmon device\n"); 450 + dev_err(dev, "Failed to register hwmon device\n"); 451 451 return PTR_ERR(hwm); 452 452 } 453 453 454 454 if (IS_REACHABLE(CONFIG_THERMAL)) { 455 - fan->cdev = thermal_cooling_device_register("mlxreg_fan", fan, 456 - &mlxreg_fan_cooling_ops); 455 + fan->cdev = devm_thermal_of_cooling_device_register(dev, 456 + NULL, "mlxreg_fan", fan, &mlxreg_fan_cooling_ops); 457 457 if (IS_ERR(fan->cdev)) { 458 - dev_err(&pdev->dev, "Failed to register cooling device\n"); 458 + dev_err(dev, "Failed to register cooling device\n"); 459 459 return PTR_ERR(fan->cdev); 460 460 } 461 461 } 462 - 463 - return 0; 464 - } 465 - 466 - static int mlxreg_fan_remove(struct platform_device *pdev) 467 - { 468 - struct mlxreg_fan *fan = platform_get_drvdata(pdev); 469 - 470 - if (IS_REACHABLE(CONFIG_THERMAL)) 471 - thermal_cooling_device_unregister(fan->cdev); 472 462 473 463 return 0; 474 464 } ··· 468 478 .name = "mlxreg-fan", 469 479 }, 470 480 .probe = mlxreg_fan_probe, 471 - .remove = mlxreg_fan_remove, 472 481 }; 473 482 474 483 module_platform_driver(mlxreg_fan_driver);