Skip to contentSkip to conversation

/usr/include/*/acpi.h

DISCUSSION Len Brown 5 participants 6 messages Jan 3, 2007 – Jan 4, 2007 ACPI

lore
Share & tools
lore

Len Brown

author reviewer
#0 lore raw

Thomas,
Why do the following files appear in OpenSuse 10.2?

$ find /usr/include -name '*acpi*'
/usr/include/asm/acpi.h
/usr/include/asm-x86_64/acpi.h
/usr/include/asm-i386/acpi.h
/usr/include/linux/acpi.h
/usr/include/linux/pci-acpi.h

They are not present on a Fedora Core 6 system.

thanks,
-Len

#1 lore raw
Quoted 11 lines · Len Brown

Thomas,
Why do the following files appear in OpenSuse 10.2?

$ find /usr/include -name '*acpi*'
/usr/include/asm/acpi.h
/usr/include/asm-x86_64/acpi.h
/usr/include/asm-i386/acpi.h
/usr/include/linux/acpi.h
/usr/include/linux/pci-acpi.h

They are not present on a Fedora Core 6 system.

No idea. I never used them and I don't know any user space tool using them.
They were already present in SLES9 or even earlier.
Don't know how to determine whether any of them gets used by any application, but I doubt they are used.
I had a quick look at the glibc sources, I couldn't find anything explicitly adding acpi kernel headers, they may get added by accident through some regex.
What is the reason you ask this for, do you get name clashes with other programs, should they get reverted for cleanup reasons?

Thomas

#2 lore raw
Quoted 11 lines · Thomas Renninger
Quoted 10 lines · Len Brown

Thomas,
Why do the following files appear in OpenSuse 10.2?

$ find /usr/include -name '*acpi*'
/usr/include/asm/acpi.h
/usr/include/asm-x86_64/acpi.h
/usr/include/asm-i386/acpi.h
/usr/include/linux/acpi.h
/usr/include/linux/pci-acpi.h
Quoted 4 lines
Quoted 1 line

They are not present on a Fedora Core 6 system.

No idea. I never used them and I don't know any user space tool using them.

This header files are part of the linux kernel, and thus of course available in /usr/include/{asm,linux}.

Thorsten

Signature · 4 lines
Thorsten Kukuk         http://www.suse.de/~kukuk/      [email protected]
SUSE LINUX Products GmbH       Maxfeldstr. 5       D-90409 Nuernberg
--------------------------------------------------------------------    
Key fingerprint = 8C6B FD92 EE0F 42ED F91A  6A73 6D1A 7F05 2E59 24BB
#3 lore raw
Quoted 17 lines · Thorsten Kukuk
Quoted 14 lines · Thomas Renninger
Quoted 12 lines · Len Brown

Thomas,
Why do the following files appear in OpenSuse 10.2?

$ find /usr/include -name '*acpi*'
/usr/include/asm/acpi.h
/usr/include/asm-x86_64/acpi.h
/usr/include/asm-i386/acpi.h
/usr/include/linux/acpi.h
/usr/include/linux/pci-acpi.h

They are not present on a Fedora Core 6 system.

Quoted 10 lines
Quoted 3 lines

No idea. I never used them and I don't know any user space tool using them.

This header files are part of the linux kernel, and thus of course available in /usr/include/{asm,linux}.

Thorsten

Not all kernel headers have a meaning to user space, and not all of them should be available there. More, none of the ACPI linux kernel headers have meaning to user space applications, thus they "of course" should not be available.

Regards,
Alex.

author reviewer
#4 lore raw
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

Why do the following files appear in OpenSuse 10.2?

$ find /usr/include -name '*acpi*'
/usr/include/asm/acpi.h
/usr/include/asm-x86_64/acpi.h
/usr/include/asm-i386/acpi.h
/usr/include/linux/acpi.h
/usr/include/linux/pci-acpi.h
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 2 lines

They are not present on a Fedora Core 6 system.

No idea. I never used them and I don't know any user space tool using them.

What is the reason you ask this for, do you get name clashes with other programs, should they get reverted for cleanup reasons?

Cleanup reasons.
I want to know what the constraints are for who sees what header.

Right now we have some issues with all kinds of ACPICA core-internal stuff being exported to the rest of the kernel. Makes sense to think about what is exported to user-space while thinking about it -- and I just happened to notice that OS and FC are different here.

Quoted 2 lines
Quoted 2 lines

This header files are part of the linux kernel, and thus of course available in /usr/include/{asm,linux}.

So you pick up all of the kernel include/linux and include/asm*? (but exclude include/acpi/, which is as much a kernel header as the above)

What in user-space looks at linux/*.h and what kind of stuff should we be exporting there -- or not exporting there?

linux/acpi.h has its entire contents inside #ifdef CONFIG_ACPI
and Fedora Core ships without it -- so it seems a pretty safe bet that if anything in user-space is using it, then it must be pretty obscure. ACPI is, after-all, a kernel/BIOS interface -- and to the extent that we expose it to user-space we have certainly failed to abstract it.

I don't see any harm in user-space seeing linux/acpi.h, but I also see no benefit. We could delete it, but we could not delete the asm/acpi.h files which are equally useless to user-space.

I'm thinking that we should move the core internal stuff (most of include/acpi/) under drivers/acpi where only the core can see it. (2.4 did it this way, as so lots of drivers in 2.6) Perhaps linux/acpi.h should be the place where non-core parts of the Linux kernel pick up what they need to know to talk to the ACPI sub-system.

Unclear what to do about visibility to user-space.
I don't see us wanting to export anything, so the goal is to not pollute user-space as cleanly as possible.

-Len

#5 lore raw
Quoted 5 lines · Len Brown
Quoted 2 lines
Quoted 2 lines

This header files are part of the linux kernel, and thus of course available in /usr/include/{asm,linux}.

So you pick up all of the kernel include/linux and include/asm*? (but exclude include/acpi/, which is as much a kernel header as the above)

Yes, we do not exclude any files from the kernel headers package, since it is safer to have an extra file there than miss something that something in userspace *could* need - or that is not needed now but can silently become useful for something userspace in the future. An "all headers part of the linux kernel" is much safer definition than "a somewhat random selection of kernel headers".

Signature · 5 lines
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
The meaning of Stonehenge in Traflamadorian, when viewed from above, is:
"Replacement part being rushed with all possible speed."
		-- Kurt Vonnegut, Sirens from Titan