RE: [PATCH v2] Xen/ACPI: support sleep state entering on hardware reduced systems

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

 



Sorry for delayed reply.

> >>> On 12.03.13 at 01:59, "Zheng, Lv" <lv.zheng@xxxxxxxxx> wrote:
> >> > +#include <linux/acpi.h>
> >
> > This line shouldn't appear in ACPICA codes (drivers/acpi/acpica).
> > Please try to declare OSL interfaces via include/acpi/platform/aclinux.h.
> 
> I'm sorry, but why am I not permitted to follow code that's already there:
> - hwsleep.c already includes linux/acpi.h
> - acpi_os_set_prepare_sleep() and acpi_os_prepare_sleep() are
>   both declared/stubbed out in linux/acpi.h
> 
> I'm particularly not intending to do cleanup work on ACPICA just so that I can
> subsequently fix incomplete code.
> 
> Rafael, with that in mind, your request to submit the ACPICA changes
> separately is impossible: The hook functions just can't have a declaration in the
> non-Linux ACPI headers (or else they wouldn't currently live in linux/acpi.h).
> Hence breaking up the patch in the way you asked me to will not even compile
> without first cleaning up the existing code. And again - I'm sorry, no, that's not
> something I was looking forward to do.

Yes, you can try to use codes already there, but you still can find a way not introducing a new inclusion of <linux/acpi.h> in an ACPICA file.
Sorry for the inconvenience.

> >> > +	status = acpi_os_prepare_sleep(sleep_state, acpi_gbl_sleep_type_a,
> >> > +				       acpi_gbl_sleep_type_b, true);
> >
> > bool is not used in ACPICA, please try u8 instead.
> 
> Can do, but again - why am I not permitted to follow what's already there?
> acglobal.h has
> 
> bool ACPI_INIT_GLOBAL(acpi_gbl_enable_aml_debug_object, FALSE);

ACPICA is a portable ACPI implementation, where there might be users using compilers not compatible with c99.

This difference is there for another reason:
It is exported as a sysfs entry, it could not be converted back to u8 without introducing new warnings during the current kernel compilation process.
At least for now, it is a committed difference.

Or you could wait until the "bool" portable layer to be implemented in the ACPICA.

> The more that the declaration, as pointed out above, lives in linux/acpi.h (and
> did so even _before_ this patch), i.e. isn't an ACPICA one.
> 
> >> >  	status = acpi_os_prepare_sleep(sleep_state, pm1a_control,
> >> > -				       pm1b_control);
> >> > +				       pm1b_control, false);
> >
> > Likewise.
> >
> >> > -acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 pm1a_control,
> >> > -				  u32 pm1b_control)
> >> > +acpi_status acpi_os_prepare_sleep(u8 sleep_state, u32 val_a, u32 val_b,
> >> > +				  bool extended)
> >
> > Is this an ACPICA OSL interface? Then it should not include bool parameter.
> 
> Returning the question: Given the current placement of declarations, it isn't.
> But if the current layout is wrong, than that needs fixing first. Which in turn
> likely means that the inconsistency will continue to persist for the next (or the
> next few) kernel version(s).

Yes, we may fix this ASAP.

Thanks
-Lv
--
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