Re: [RFC PATCH] ACPICA: Convert acpi_gbl_hardware lock back to a raw_spinlock_t

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2018-04-24 22:55:20 [+0200], Rafael J. Wysocki wrote:
> > diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
> > index a0b232703302..38eaa3235210 100644
> > --- a/include/acpi/platform/aclinux.h
> > +++ b/include/acpi/platform/aclinux.h
> > @@ -102,6 +102,7 @@
> >
> >  #define acpi_cache_t                        struct kmem_cache
> >  #define acpi_spinlock                       spinlock_t *
> > +#define acpi_raw_spinlock              raw_spinlock_t *
> 
> I would prefer to redefine acpi_spinlock as raw_spinlock_t and then
> acpi_os_acquire/release_lock() as
> raw_spin_lock_irqsave/unlock_irqrestore(), respectively.

I would rather not convert all current ACPI spinlock_t into
raw_spinlock_t. Only those which are required to.
I don't know if there is anything special about acpi_gbl_hardware_lock
but we have other raw locks already (like erst_lock or c3_lock).
I could come up with something like acpi_os_acquire_rawlock() if you
prefer this instead.

> >  #define acpi_cpu_flags                      unsigned long
> >
> >  /* Use native linux version of acpi_os_allocate_zeroed */
> > @@ -120,6 +121,19 @@
> >  #define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_get_thread_id
> >  #define ACPI_USE_ALTERNATE_PROTOTYPE_acpi_os_create_lock
> >
> > +#define acpi_os_create_raw_lock(__handle)                      \
> > +({                                                             \
> > +       raw_spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock));    \
> > +                                                               \
> > +       if (lock) {                                             \
> > +               *(__handle) = lock;                             \
> > +               raw_spin_lock_init(*(__handle));                \
> > +       }                                                       \
> > +       lock ? AE_OK : AE_NO_MEMORY;                            \
> > +})
> > +
> > +#define acpi_os_delete_raw_lock(__handle)      kfree(__handle)
> > +
> >  /*
> >   * OSL interfaces used by debugger/disassembler
> >   */
> > --
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux