3131
3232#define DEFAULT_SCROLL_RATE (HZ / 2)
3333
34+ static struct linedisp * to_linedisp (struct device * dev )
35+ {
36+ return container_of (dev , struct linedisp , dev );
37+ }
38+
3439/**
3540 * linedisp_scroll() - scroll the display by a character
3641 * @t: really a pointer to the private data structure
@@ -133,7 +138,7 @@ static int linedisp_display(struct linedisp *linedisp, const char *msg,
133138static ssize_t message_show (struct device * dev , struct device_attribute * attr ,
134139 char * buf )
135140{
136- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
141+ struct linedisp * linedisp = to_linedisp ( dev );
137142
138143 return sysfs_emit (buf , "%s\n" , linedisp -> message );
139144}
@@ -152,7 +157,7 @@ static ssize_t message_show(struct device *dev, struct device_attribute *attr,
152157static ssize_t message_store (struct device * dev , struct device_attribute * attr ,
153158 const char * buf , size_t count )
154159{
155- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
160+ struct linedisp * linedisp = to_linedisp ( dev );
156161 int err ;
157162
158163 err = linedisp_display (linedisp , buf , count );
@@ -164,7 +169,7 @@ static DEVICE_ATTR_RW(message);
164169static ssize_t scroll_step_ms_show (struct device * dev ,
165170 struct device_attribute * attr , char * buf )
166171{
167- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
172+ struct linedisp * linedisp = to_linedisp ( dev );
168173
169174 return sysfs_emit (buf , "%u\n" , jiffies_to_msecs (linedisp -> scroll_rate ));
170175}
@@ -173,7 +178,7 @@ static ssize_t scroll_step_ms_store(struct device *dev,
173178 struct device_attribute * attr ,
174179 const char * buf , size_t count )
175180{
176- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
181+ struct linedisp * linedisp = to_linedisp ( dev );
177182 unsigned int ms ;
178183 int err ;
179184
@@ -195,7 +200,7 @@ static DEVICE_ATTR_RW(scroll_step_ms);
195200
196201static ssize_t map_seg_show (struct device * dev , struct device_attribute * attr , char * buf )
197202{
198- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
203+ struct linedisp * linedisp = to_linedisp ( dev );
199204 struct linedisp_map * map = linedisp -> map ;
200205
201206 memcpy (buf , & map -> map , map -> size );
@@ -205,7 +210,7 @@ static ssize_t map_seg_show(struct device *dev, struct device_attribute *attr, c
205210static ssize_t map_seg_store (struct device * dev , struct device_attribute * attr ,
206211 const char * buf , size_t count )
207212{
208- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
213+ struct linedisp * linedisp = to_linedisp ( dev );
209214 struct linedisp_map * map = linedisp -> map ;
210215
211216 if (count != map -> size )
@@ -232,7 +237,7 @@ static struct attribute *linedisp_attrs[] = {
232237static umode_t linedisp_attr_is_visible (struct kobject * kobj , struct attribute * attr , int n )
233238{
234239 struct device * dev = kobj_to_dev (kobj );
235- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
240+ struct linedisp * linedisp = to_linedisp ( dev );
236241 struct linedisp_map * map = linedisp -> map ;
237242 umode_t mode = attr -> mode ;
238243
@@ -263,7 +268,7 @@ static DEFINE_IDA(linedisp_id);
263268
264269static void linedisp_release (struct device * dev )
265270{
266- struct linedisp * linedisp = container_of ( dev , struct linedisp , dev );
271+ struct linedisp * linedisp = to_linedisp ( dev );
267272
268273 kfree (linedisp -> map );
269274 kfree (linedisp -> message );
0 commit comments