aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/acpi_bus.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@tglx.tec.linutronix.de>2005-07-13 10:45:00 +0200
committerThomas Gleixner <tglx@mtd.linutronix.de>2005-07-13 10:45:00 +0200
commit1b3035b7fcc72b6b36f2a3634dad832eb2453ce8 (patch)
tree728174d72943cc9b981a5843553551df62eddc41 /include/acpi/acpi_bus.h
parenta98a5d04f400ad112e59cadd739dbabf89417e60 (diff)
parentc32511e2718618f0b53479eb36e07439aa363a74 (diff)
downloadkernel_samsung_smdk4412-1b3035b7fcc72b6b36f2a3634dad832eb2453ce8.zip
kernel_samsung_smdk4412-1b3035b7fcc72b6b36f2a3634dad832eb2453ce8.tar.gz
kernel_samsung_smdk4412-1b3035b7fcc72b6b36f2a3634dad832eb2453ce8.tar.bz2
Merge with rsync://fileserver/linux
Diffstat (limited to 'include/acpi/acpi_bus.h')
-rw-r--r--include/acpi/acpi_bus.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 9ad1424..8d0e129 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -351,6 +351,27 @@ int acpi_match_ids (struct acpi_device *device, char *ids);
int acpi_create_dir(struct acpi_device *);
void acpi_remove_dir(struct acpi_device *);
+
+/*
+ * Bind physical devices with ACPI devices
+ */
+#include <linux/device.h>
+struct acpi_bus_type {
+ struct list_head list;
+ struct bus_type *bus;
+ /* For general devices under the bus*/
+ int (*find_device)(struct device *, acpi_handle*);
+ /* For bridges, such as PCI root bridge, IDE controller */
+ int (*find_bridge)(struct device *, acpi_handle *);
+};
+int register_acpi_bus_type(struct acpi_bus_type *);
+int unregister_acpi_bus_type(struct acpi_bus_type *);
+struct device *acpi_get_physical_device(acpi_handle);
+/* helper */
+acpi_handle acpi_get_child(acpi_handle, acpi_integer);
+acpi_handle acpi_get_pci_rootbridge_handle(unsigned int, unsigned int);
+#define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->firmware_data))
+
#endif /*CONFIG_ACPI_BUS*/
#endif /*__ACPI_BUS_H__*/