mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
auxdisplay: linedisp: encapsulate container_of usage within to_linedisp
Replace direct container_of() calls with a to_linedisp() helper function throughout the line-display auxdisplay library module. This abstraction prepares for upcoming dual-mode support where linedisp context retrieval will need to handle both dedicated child devices and attached parent auxdisplay devices. No functional changes in this patch. Signed-off-by: Jean-François Lessard <jefflessard3@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
1cdaf601ef
commit
66c9380948
|
|
@ -31,6 +31,11 @@
|
||||||
|
|
||||||
#define DEFAULT_SCROLL_RATE (HZ / 2)
|
#define DEFAULT_SCROLL_RATE (HZ / 2)
|
||||||
|
|
||||||
|
static struct linedisp *to_linedisp(struct device *dev)
|
||||||
|
{
|
||||||
|
return container_of(dev, struct linedisp, dev);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* linedisp_scroll() - scroll the display by a character
|
* linedisp_scroll() - scroll the display by a character
|
||||||
* @t: really a pointer to the private data structure
|
* @t: really a pointer to the private data structure
|
||||||
|
|
@ -133,7 +138,7 @@ static int linedisp_display(struct linedisp *linedisp, const char *msg,
|
||||||
static ssize_t message_show(struct device *dev, struct device_attribute *attr,
|
static ssize_t message_show(struct device *dev, struct device_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
|
|
||||||
return sysfs_emit(buf, "%s\n", linedisp->message);
|
return sysfs_emit(buf, "%s\n", linedisp->message);
|
||||||
}
|
}
|
||||||
|
|
@ -152,7 +157,7 @@ static ssize_t message_show(struct device *dev, struct device_attribute *attr,
|
||||||
static ssize_t message_store(struct device *dev, struct device_attribute *attr,
|
static ssize_t message_store(struct device *dev, struct device_attribute *attr,
|
||||||
const char *buf, size_t count)
|
const char *buf, size_t count)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = linedisp_display(linedisp, buf, count);
|
err = linedisp_display(linedisp, buf, count);
|
||||||
|
|
@ -164,7 +169,7 @@ static DEVICE_ATTR_RW(message);
|
||||||
static ssize_t scroll_step_ms_show(struct device *dev,
|
static ssize_t scroll_step_ms_show(struct device *dev,
|
||||||
struct device_attribute *attr, char *buf)
|
struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
|
|
||||||
return sysfs_emit(buf, "%u\n", jiffies_to_msecs(linedisp->scroll_rate));
|
return sysfs_emit(buf, "%u\n", jiffies_to_msecs(linedisp->scroll_rate));
|
||||||
}
|
}
|
||||||
|
|
@ -173,7 +178,7 @@ static ssize_t scroll_step_ms_store(struct device *dev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr,
|
||||||
const char *buf, size_t count)
|
const char *buf, size_t count)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
unsigned int ms;
|
unsigned int ms;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
|
@ -195,7 +200,7 @@ static DEVICE_ATTR_RW(scroll_step_ms);
|
||||||
|
|
||||||
static ssize_t map_seg_show(struct device *dev, struct device_attribute *attr, char *buf)
|
static ssize_t map_seg_show(struct device *dev, struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
struct linedisp_map *map = linedisp->map;
|
struct linedisp_map *map = linedisp->map;
|
||||||
|
|
||||||
memcpy(buf, &map->map, map->size);
|
memcpy(buf, &map->map, map->size);
|
||||||
|
|
@ -205,7 +210,7 @@ static ssize_t map_seg_show(struct device *dev, struct device_attribute *attr, c
|
||||||
static ssize_t map_seg_store(struct device *dev, struct device_attribute *attr,
|
static ssize_t map_seg_store(struct device *dev, struct device_attribute *attr,
|
||||||
const char *buf, size_t count)
|
const char *buf, size_t count)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
struct linedisp_map *map = linedisp->map;
|
struct linedisp_map *map = linedisp->map;
|
||||||
|
|
||||||
if (count != map->size)
|
if (count != map->size)
|
||||||
|
|
@ -232,7 +237,7 @@ static struct attribute *linedisp_attrs[] = {
|
||||||
static umode_t linedisp_attr_is_visible(struct kobject *kobj, struct attribute *attr, int n)
|
static umode_t linedisp_attr_is_visible(struct kobject *kobj, struct attribute *attr, int n)
|
||||||
{
|
{
|
||||||
struct device *dev = kobj_to_dev(kobj);
|
struct device *dev = kobj_to_dev(kobj);
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
struct linedisp_map *map = linedisp->map;
|
struct linedisp_map *map = linedisp->map;
|
||||||
umode_t mode = attr->mode;
|
umode_t mode = attr->mode;
|
||||||
|
|
||||||
|
|
@ -263,7 +268,7 @@ static DEFINE_IDA(linedisp_id);
|
||||||
|
|
||||||
static void linedisp_release(struct device *dev)
|
static void linedisp_release(struct device *dev)
|
||||||
{
|
{
|
||||||
struct linedisp *linedisp = container_of(dev, struct linedisp, dev);
|
struct linedisp *linedisp = to_linedisp(dev);
|
||||||
|
|
||||||
kfree(linedisp->map);
|
kfree(linedisp->map);
|
||||||
kfree(linedisp->message);
|
kfree(linedisp->message);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user