Lines Matching +full:sb +full:- +full:rmi
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * rmi-i2c.c - Side band RMI over I2C support for AMD out
17 #include "rmi-core.h"
24 * Enable the SB-RMI Software alert status in sbrmi_enable_alert()
27 ret = regmap_read(data->regmap, SBRMI_CTRL, &ctrl); in sbrmi_enable_alert()
33 return regmap_write(data->regmap, SBRMI_CTRL, ctrl); in sbrmi_enable_alert()
48 data->pwr_limit_max = msg.mb_in_out; in sbrmi_get_max_pwr_limit()
55 struct device *dev = &client->dev; in sbrmi_i2c_probe()
65 return -ENOMEM; in sbrmi_i2c_probe()
67 mutex_init(&data->lock); in sbrmi_i2c_probe()
69 data->regmap = devm_regmap_init_i2c(client, &sbrmi_i2c_regmap_config); in sbrmi_i2c_probe()
70 if (IS_ERR(data->regmap)) in sbrmi_i2c_probe()
71 return PTR_ERR(data->regmap); in sbrmi_i2c_probe()
73 /* Enable alert for SB-RMI sequence */ in sbrmi_i2c_probe()
83 data->dev_static_addr = client->addr; in sbrmi_i2c_probe()
94 struct sbrmi_data *data = dev_get_drvdata(&client->dev); in sbrmi_i2c_remove()
96 misc_deregister(&data->sbrmi_misc_dev); in sbrmi_i2c_remove()
98 data->sbrmi_misc_dev.fops = NULL; in sbrmi_i2c_remove()
99 data->sbrmi_misc_dev.parent = NULL; in sbrmi_i2c_remove()
100 dev_info(&client->dev, "Removed sbrmi-i2c driver\n"); in sbrmi_i2c_remove()
105 {"sbrmi-i2c"},
120 .name = "sbrmi-i2c",
132 MODULE_DESCRIPTION("Hwmon driver for AMD SB-RMI emulated sensor");