@@ -192,12 +192,12 @@ MODULE_PARM_DESC(lid_report_interval, "Interval (ms) between lid key events");
192192static struct proc_dir_entry * acpi_button_dir ;
193193static struct proc_dir_entry * acpi_lid_dir ;
194194
195- static int acpi_lid_evaluate_state (struct acpi_device * device )
195+ static int acpi_lid_evaluate_state (acpi_handle lid_handle )
196196{
197197 unsigned long long lid_state ;
198198 acpi_status status ;
199199
200- status = acpi_evaluate_integer (device -> handle , "_LID" , NULL , & lid_state );
200+ status = acpi_evaluate_integer (lid_handle , "_LID" , NULL , & lid_state );
201201 if (ACPI_FAILURE (status ))
202202 return - ENODEV ;
203203
@@ -292,7 +292,7 @@ static int __maybe_unused acpi_button_state_seq_show(struct seq_file *seq,
292292 struct acpi_button * button = seq -> private ;
293293 int state ;
294294
295- state = acpi_lid_evaluate_state (button -> adev );
295+ state = acpi_lid_evaluate_state (button -> adev -> handle );
296296 seq_printf (seq , "state: %s\n" ,
297297 state < 0 ? "unsupported" : (state ? "open" : "closed" ));
298298 return 0 ;
@@ -377,43 +377,42 @@ static int acpi_button_remove_fs(struct acpi_button *button)
377377 return 0 ;
378378}
379379
380- static struct acpi_device * lid_device ;
380+ static acpi_handle saved_lid_handle ;
381381static DEFINE_MUTEX (acpi_lid_lock );
382382
383383static void acpi_lid_save (struct acpi_device * adev )
384384{
385385 guard (mutex )(& acpi_lid_lock );
386386
387- lid_device = adev ;
387+ saved_lid_handle = adev -> handle ;
388388}
389389
390390static void acpi_lid_forget (struct acpi_device * adev )
391391{
392392 guard (mutex )(& acpi_lid_lock );
393393
394- if (lid_device == adev )
395- lid_device = NULL ;
394+ if (saved_lid_handle == adev -> handle )
395+ saved_lid_handle = NULL ;
396396}
397397
398398/* Driver Interface */
399399int acpi_lid_open (void )
400400{
401401 guard (mutex )(& acpi_lid_lock );
402402
403- if (!lid_device )
403+ if (!saved_lid_handle )
404404 return - ENODEV ;
405405
406- return acpi_lid_evaluate_state (lid_device );
406+ return acpi_lid_evaluate_state (saved_lid_handle );
407407}
408408EXPORT_SYMBOL (acpi_lid_open );
409409
410410static int acpi_lid_update_state (struct acpi_button * button ,
411411 bool signal_wakeup )
412412{
413- struct acpi_device * device = button -> adev ;
414413 int state ;
415414
416- state = acpi_lid_evaluate_state (device );
415+ state = acpi_lid_evaluate_state (button -> adev -> handle );
417416 if (state < 0 )
418417 return state ;
419418
@@ -516,12 +515,11 @@ static int acpi_button_suspend(struct device *dev)
516515static int acpi_button_resume (struct device * dev )
517516{
518517 struct acpi_button * button = dev_get_drvdata (dev );
519- struct acpi_device * device = ACPI_COMPANION (dev );
520518 struct input_dev * input ;
521519
522520 button -> suspended = false;
523521 if (button -> type == ACPI_BUTTON_TYPE_LID ) {
524- button -> last_state = !!acpi_lid_evaluate_state (device );
522+ button -> last_state = !!acpi_lid_evaluate_state (ACPI_HANDLE ( dev ) );
525523 button -> last_time = ktime_get ();
526524 acpi_lid_initialize_state (button );
527525 }
@@ -540,9 +538,8 @@ static int acpi_button_resume(struct device *dev)
540538static int acpi_lid_input_open (struct input_dev * input )
541539{
542540 struct acpi_button * button = input_get_drvdata (input );
543- struct acpi_device * device = button -> adev ;
544541
545- button -> last_state = !!acpi_lid_evaluate_state (device );
542+ button -> last_state = !!acpi_lid_evaluate_state (button -> adev -> handle );
546543 button -> last_time = ktime_get ();
547544 acpi_lid_initialize_state (button );
548545
0 commit comments