mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
hwmon: (amc6821) add support for tsd,mule
Theobroma Systems Mule is an MCU that emulates a set of I2C devices, among which is an amc6821 and other devices that are reachable through an I2C-mux. The devices on the mux can be selected by writing the appropriate device number to an I2C config register (amc6821: reg 0xff) Implement "tsd,mule" compatible to instantiate the I2C-mux platform device when probing the amc6821. Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de> Message-ID: <20240906-dev-mule-i2c-mux-v8-4-dbd28a150e41@cherry.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
247a80fde1
commit
8f38236de6
@ -22,6 +22,7 @@
|
||||
#include <linux/minmax.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
@ -893,7 +894,6 @@ static bool amc6821_volatile_reg(struct device *dev, unsigned int reg)
|
||||
static const struct regmap_config amc6821_regmap_config = {
|
||||
.reg_bits = 8,
|
||||
.val_bits = 8,
|
||||
.max_register = AMC6821_REG_CONF3,
|
||||
.volatile_reg = amc6821_volatile_reg,
|
||||
.cache_type = REGCACHE_MAPLE,
|
||||
};
|
||||
@ -920,6 +920,13 @@ static int amc6821_probe(struct i2c_client *client)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (of_device_is_compatible(dev->of_node, "tsd,mule")) {
|
||||
err = devm_of_platform_populate(dev);
|
||||
if (err)
|
||||
return dev_err_probe(dev, err,
|
||||
"Failed to create sub-devices\n");
|
||||
}
|
||||
|
||||
hwmon_dev = devm_hwmon_device_register_with_info(dev, client->name,
|
||||
data, &amc6821_chip_info,
|
||||
amc6821_groups);
|
||||
@ -937,6 +944,9 @@ static const struct of_device_id __maybe_unused amc6821_of_match[] = {
|
||||
{
|
||||
.compatible = "ti,amc6821",
|
||||
},
|
||||
{
|
||||
.compatible = "tsd,mule",
|
||||
},
|
||||
{ }
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user