2005-04-17 02:20:36 +04:00
/*
2013-03-04 02:05:55 +04:00
* container . c - ACPI Generic Container Driver
2005-04-17 02:20:36 +04:00
*
* Copyright ( C ) 2004 Anil S Keshavamurthy ( anil . s . keshavamurthy @ intel . com )
* Copyright ( C ) 2004 Keiichiro Tokunaga ( tokunaga . keiich @ jp . fujitsu . com )
* Copyright ( C ) 2004 Motoyuki Ito ( motoyuki @ soft . fujitsu . com )
* Copyright ( C ) 2004 FUJITSU LIMITED
2013-03-04 02:05:55 +04:00
* Copyright ( C ) 2004 , 2013 Intel Corp .
* Author : Rafael J . Wysocki < rafael . j . wysocki @ intel . com >
2005-04-17 02:20:36 +04:00
*
* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or ( at
* your option ) any later version .
*
* This program is distributed in the hope that it will be useful , but
* WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* General Public License for more details .
*
* You should have received a copy of the GNU General Public License along
* with this program ; if not , write to the Free Software Foundation , Inc . ,
* 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA .
*
* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
*/
# include <linux/acpi.h>
2013-03-04 02:05:55 +04:00
# include "internal.h"
2005-04-17 02:20:36 +04:00
2013-03-11 13:17:07 +04:00
# include "internal.h"
2009-07-29 00:45:54 +04:00
# define PREFIX "ACPI: "
2005-04-17 02:20:36 +04:00
# define _COMPONENT ACPI_CONTAINER_COMPONENT
2007-02-13 06:42:12 +03:00
ACPI_MODULE_NAME ( " container " ) ;
2005-04-17 02:20:36 +04:00
2007-07-23 16:44:41 +04:00
static const struct acpi_device_id container_device_ids [ ] = {
{ " ACPI0004 " , 0 } ,
{ " PNP0A05 " , 0 } ,
{ " PNP0A06 " , 0 } ,
{ " " , 0 } ,
} ;
2013-11-23 00:55:32 +04:00
static int container_device_attach ( struct acpi_device * adev ,
2013-02-09 02:52:39 +04:00
const struct acpi_device_id * not_used )
{
2013-11-23 00:55:32 +04:00
kobject_uevent ( & adev - > dev . kobj , KOBJ_ONLINE ) ;
2013-02-09 02:52:39 +04:00
return 1 ;
}
2013-11-23 00:55:32 +04:00
static void container_device_detach ( struct acpi_device * adev )
{
kobject_uevent ( & adev - > dev . kobj , KOBJ_OFFLINE ) ;
}
2013-03-04 02:08:45 +04:00
static struct acpi_scan_handler container_handler = {
2007-07-23 16:44:41 +04:00
. ids = container_device_ids ,
2013-02-09 02:52:39 +04:00
. attach = container_device_attach ,
2013-11-23 00:55:32 +04:00
. detach = container_device_detach ,
2013-03-04 02:05:55 +04:00
. hotplug = {
. enabled = true ,
} ,
2005-04-17 02:20:36 +04:00
} ;
2013-02-09 02:52:39 +04:00
void __init acpi_container_init ( void )
2005-04-17 02:20:36 +04:00
{
2013-03-04 02:08:45 +04:00
acpi_scan_add_handler_with_hotplug ( & container_handler , " container " ) ;
2005-04-17 02:20:36 +04:00
}