mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 10:11:38 -04:00
Input: st1232 - expose firmware version via sysfs
Allow user space programs to read the firmware version and revision of the touch controller from the sysfs. Suggested-by: Khalid Talash <ktalash@topcon.com> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Link: https://patch.msgid.link/20260123-input-st1232-firmware-version-v1-2-32df7eefdafe@pengutronix.de Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
committed by
Dmitry Torokhov
parent
004703baa5
commit
ffcdb6856a
@@ -69,6 +69,34 @@ struct st1232_ts_data {
|
||||
u32 fw_revision;
|
||||
};
|
||||
|
||||
static ssize_t fw_version_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct st1232_ts_data *st1232_ts = i2c_get_clientdata(client);
|
||||
|
||||
return sysfs_emit(buf, "%u\n", st1232_ts->fw_version);
|
||||
}
|
||||
|
||||
static ssize_t fw_revision_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
struct st1232_ts_data *st1232_ts = i2c_get_clientdata(client);
|
||||
|
||||
return sysfs_emit(buf, "%08x\n", st1232_ts->fw_revision);
|
||||
}
|
||||
|
||||
static DEVICE_ATTR_RO(fw_version);
|
||||
static DEVICE_ATTR_RO(fw_revision);
|
||||
|
||||
static struct attribute *st1232_attrs[] = {
|
||||
&dev_attr_fw_version.attr,
|
||||
&dev_attr_fw_revision.attr,
|
||||
NULL,
|
||||
};
|
||||
ATTRIBUTE_GROUPS(st1232);
|
||||
|
||||
static int st1232_ts_read_data(struct st1232_ts_data *ts, u8 reg,
|
||||
unsigned int n)
|
||||
{
|
||||
@@ -444,6 +472,7 @@ static struct i2c_driver st1232_ts_driver = {
|
||||
.driver = {
|
||||
.name = ST1232_TS_NAME,
|
||||
.of_match_table = st1232_ts_dt_ids,
|
||||
.dev_groups = st1232_groups,
|
||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
||||
.pm = pm_sleep_ptr(&st1232_ts_pm_ops),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user