File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2294,7 +2294,8 @@ static int acpi_ec_init_workqueues(void)
22942294 ec_wq = alloc_ordered_workqueue ("kec" , 0 );
22952295
22962296 if (!ec_query_wq )
2297- ec_query_wq = alloc_workqueue ("kec_query" , 0 , ec_max_queries );
2297+ ec_query_wq = alloc_workqueue ("kec_query" , WQ_PERCPU ,
2298+ ec_max_queries );
22982299
22992300 if (!ec_wq || !ec_query_wq ) {
23002301 acpi_ec_destroy_workqueues ();
Original file line number Diff line number Diff line change @@ -398,7 +398,7 @@ static void acpi_os_drop_map_ref(struct acpi_ioremap *map)
398398 list_del_rcu (& map -> list );
399399
400400 INIT_RCU_WORK (& map -> track .rwork , acpi_os_map_remove );
401- queue_rcu_work (system_wq , & map -> track .rwork );
401+ queue_rcu_work (system_percpu_wq , & map -> track .rwork );
402402}
403403
404404/**
@@ -1694,8 +1694,8 @@ acpi_status __init acpi_os_initialize(void)
16941694
16951695acpi_status __init acpi_os_initialize1 (void )
16961696{
1697- kacpid_wq = alloc_workqueue ("kacpid" , 0 , 1 );
1698- kacpi_notify_wq = alloc_workqueue ("kacpi_notify" , 0 , 0 );
1697+ kacpid_wq = alloc_workqueue ("kacpid" , WQ_PERCPU , 1 );
1698+ kacpi_notify_wq = alloc_workqueue ("kacpi_notify" , WQ_PERCPU , 0 );
16991699 kacpi_hotplug_wq = alloc_ordered_workqueue ("kacpi_hotplug" , 0 );
17001700 BUG_ON (!kacpid_wq );
17011701 BUG_ON (!kacpi_notify_wq );
Original file line number Diff line number Diff line change @@ -2397,7 +2397,7 @@ static bool acpi_scan_clear_dep_queue(struct acpi_device *adev)
23972397 * initial enumeration of devices is complete, put it into the unbound
23982398 * workqueue.
23992399 */
2400- queue_work (system_unbound_wq , & cdw -> work );
2400+ queue_work (system_dfl_wq , & cdw -> work );
24012401
24022402 return true;
24032403}
Original file line number Diff line number Diff line change @@ -642,7 +642,7 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
642642 /*
643643 * Disable all GPE and clear their status bits before interrupts are
644644 * enabled. Some GPEs (like wakeup GPEs) have no handlers and this can
645- * prevent them from producing spurious interrups .
645+ * prevent them from producing spurious interrupts .
646646 *
647647 * acpi_leave_sleep_state() will reenable specific GPEs later.
648648 *
Original file line number Diff line number Diff line change @@ -1060,7 +1060,8 @@ static int __init acpi_thermal_init(void)
10601060 }
10611061
10621062 acpi_thermal_pm_queue = alloc_workqueue ("acpi_thermal_pm" ,
1063- WQ_HIGHPRI | WQ_MEM_RECLAIM , 0 );
1063+ WQ_HIGHPRI | WQ_MEM_RECLAIM | WQ_PERCPU ,
1064+ 0 );
10641065 if (!acpi_thermal_pm_queue )
10651066 return - ENODEV ;
10661067
Original file line number Diff line number Diff line change @@ -181,7 +181,7 @@ static void byt_i2c_setup(struct lpss_private_data *pdata)
181181 acpi_status status ;
182182 u64 uid ;
183183
184- /* Expected to always be successfull , but better safe then sorry */
184+ /* Expected to always be successful , but better safe then sorry */
185185 if (!acpi_dev_uid_to_integer (pdata -> adev , & uid ) && uid ) {
186186 /* Detect I2C bus shared with PUNIT and ignore its d3 status */
187187 status = acpi_evaluate_integer (handle , "_SEM" , NULL , & shared_host );
Original file line number Diff line number Diff line change @@ -150,6 +150,24 @@ static void pnp_device_shutdown(struct device *dev)
150150 drv -> shutdown (pnp_dev );
151151}
152152
153+ static int pnp_uevent (const struct device * dev , struct kobj_uevent_env * env )
154+ {
155+ struct pnp_id * pos ;
156+ const struct pnp_dev * pnp_dev = to_pnp_dev (dev );
157+
158+ if (!dev )
159+ return - ENODEV ;
160+
161+ pos = pnp_dev -> id ;
162+ while (pos ) {
163+ if (add_uevent_var (env , "MODALIAS=pnp:d%s" , pos -> id ))
164+ return - ENOMEM ;
165+ pos = pos -> next ;
166+ }
167+
168+ return 0 ;
169+ }
170+
153171static int pnp_bus_match (struct device * dev , const struct device_driver * drv )
154172{
155173 struct pnp_dev * pnp_dev = to_pnp_dev (dev );
@@ -259,6 +277,7 @@ static const struct dev_pm_ops pnp_bus_dev_pm_ops = {
259277const struct bus_type pnp_bus_type = {
260278 .name = "pnp" ,
261279 .match = pnp_bus_match ,
280+ .uevent = pnp_uevent ,
262281 .probe = pnp_device_probe ,
263282 .remove = pnp_device_remove ,
264283 .shutdown = pnp_device_shutdown ,
Original file line number Diff line number Diff line change @@ -39,9 +39,7 @@ impl DeviceId {
3939 pub const fn new ( id : & ' static CStr ) -> Self {
4040 let src = id. to_bytes_with_nul ( ) ;
4141 build_assert ! ( src. len( ) <= Self :: ACPI_ID_LEN , "ID exceeds 16 bytes" ) ;
42- // Replace with `bindings::acpi_device_id::default()` once stabilized for `const`.
43- // SAFETY: FFI type is valid to be zero-initialized.
44- let mut acpi: bindings:: acpi_device_id = unsafe { core:: mem:: zeroed ( ) } ;
42+ let mut acpi: bindings:: acpi_device_id = pin_init:: zeroed ( ) ;
4543 let mut i = 0 ;
4644 while i < src. len ( ) {
4745 acpi. id [ i] = src[ i] ;
You can’t perform that action at this time.
0 commit comments