mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 12:14:06 +00:00
hwmon: (occ) Check for device property for setting OCC active during probe
A previous commit changed the existing behavior of the driver to skip attempting to communicate with the OCC during probe. Return to the previous default behavior of automatically communicating with the OCC and make it optional with a new device-tree property. Signed-off-by: Eddie James <eajames@linux.ibm.com> Acked-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20220809200701.218059-4-eajames@linux.ibm.com Signed-off-by: Joel Stanley <joel@jms.id.au>
This commit is contained in:
parent
0fead4fc92
commit
89a286fb15
2 changed files with 19 additions and 1 deletions
|
@ -10,6 +10,7 @@
|
|||
#include <linux/math64.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/sysfs.h>
|
||||
#include <asm/unaligned.h>
|
||||
|
||||
|
@ -1216,8 +1217,16 @@ int occ_setup(struct occ *occ)
|
|||
occ->groups[0] = &occ->group;
|
||||
|
||||
rc = occ_setup_sysfs(occ);
|
||||
if (rc)
|
||||
if (rc) {
|
||||
dev_err(occ->bus_dev, "failed to setup sysfs: %d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (!device_property_read_bool(occ->bus_dev, "ibm,no-poll-on-init")) {
|
||||
rc = occ_active(occ, true);
|
||||
if (rc)
|
||||
occ_shutdown_sysfs(occ);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include <linux/fsi-occ.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/string.h>
|
||||
|
@ -181,9 +182,17 @@ static int p9_sbe_occ_remove(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static const struct of_device_id p9_sbe_occ_of_match[] = {
|
||||
{ .compatible = "ibm,p9-occ-hwmon" },
|
||||
{ .compatible = "ibm,p10-occ-hwmon" },
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, p9_sbe_occ_of_match);
|
||||
|
||||
static struct platform_driver p9_sbe_occ_driver = {
|
||||
.driver = {
|
||||
.name = "occ-hwmon",
|
||||
.of_match_table = p9_sbe_occ_of_match,
|
||||
},
|
||||
.probe = p9_sbe_occ_probe,
|
||||
.remove = p9_sbe_occ_remove,
|
||||
|
|
Loading…
Add table
Reference in a new issue