git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
pnp
/
pnpbios
/
core.c
diff --git
a/drivers/pnp/pnpbios/core.c
b/drivers/pnp/pnpbios/core.c
index
b154b3f
..
95738db
100644
(file)
--- a/
drivers/pnp/pnpbios/core.c
+++ b/
drivers/pnp/pnpbios/core.c
@@
-61,6
+61,7
@@
#include <linux/dmi.h>
#include <linux/delay.h>
#include <linux/acpi.h>
#include <linux/dmi.h>
#include <linux/delay.h>
#include <linux/acpi.h>
+#include <linux/freezer.h>
#include <asm/page.h>
#include <asm/desc.h>
#include <asm/page.h>
#include <asm/desc.h>
@@
-108,10
+109,10
@@
static int pnp_dock_event(int dock, struct pnp_docking_station_info *info)
if (!current->fs->root) {
return -EAGAIN;
}
if (!current->fs->root) {
return -EAGAIN;
}
- if (!(envp =
(char **) kcalloc
(20, sizeof (char *), GFP_KERNEL))) {
+ if (!(envp =
kcalloc
(20, sizeof (char *), GFP_KERNEL))) {
return -ENOMEM;
}
return -ENOMEM;
}
- if (!(buf = k
calloc (1,
256, GFP_KERNEL))) {
+ if (!(buf = k
zalloc(
256, GFP_KERNEL))) {
kfree (envp);
return -ENOMEM;
}
kfree (envp);
return -ENOMEM;
}
@@
-219,7
+220,7
@@
static int pnpbios_get_resources(struct pnp_dev * dev, struct pnp_resource_table
if(!pnpbios_is_dynamic(dev))
return -EPERM;
if(!pnpbios_is_dynamic(dev))
return -EPERM;
- node = k
calloc(1,
node_info.max_node_size, GFP_KERNEL);
+ node = k
zalloc(
node_info.max_node_size, GFP_KERNEL);
if (!node)
return -1;
if (pnp_bios_get_dev_node(&nodenum, (char )PNPMODE_DYNAMIC, node)) {
if (!node)
return -1;
if (pnp_bios_get_dev_node(&nodenum, (char )PNPMODE_DYNAMIC, node)) {
@@
-242,7
+243,7
@@
static int pnpbios_set_resources(struct pnp_dev * dev, struct pnp_resource_table
if (!pnpbios_is_dynamic(dev))
return -EPERM;
if (!pnpbios_is_dynamic(dev))
return -EPERM;
- node = k
calloc(1,
node_info.max_node_size, GFP_KERNEL);
+ node = k
zalloc(
node_info.max_node_size, GFP_KERNEL);
if (!node)
return -1;
if (pnp_bios_get_dev_node(&nodenum, (char )PNPMODE_DYNAMIC, node)) {
if (!node)
return -1;
if (pnp_bios_get_dev_node(&nodenum, (char )PNPMODE_DYNAMIC, node)) {
@@
-293,7
+294,7
@@
static int pnpbios_disable_resources(struct pnp_dev *dev)
if(dev->flags & PNPBIOS_NO_DISABLE || !pnpbios_is_dynamic(dev))
return -EPERM;
if(dev->flags & PNPBIOS_NO_DISABLE || !pnpbios_is_dynamic(dev))
return -EPERM;
- node = k
calloc(1,
node_info.max_node_size, GFP_KERNEL);
+ node = k
zalloc(
node_info.max_node_size, GFP_KERNEL);
if (!node)
return -ENOMEM;
if (!node)
return -ENOMEM;
@@
-335,7
+336,7
@@
static int insert_device(struct pnp_dev *dev, struct pnp_bios_node * node)
}
/* set the initial values for the PnP device */
}
/* set the initial values for the PnP device */
- dev_id = k
calloc(1,
sizeof(struct pnp_id), GFP_KERNEL);
+ dev_id = k
zalloc(
sizeof(struct pnp_id), GFP_KERNEL);
if (!dev_id)
return -1;
pnpid32_to_pnpid(node->eisa_id,id);
if (!dev_id)
return -1;
pnpid32_to_pnpid(node->eisa_id,id);
@@
-346,7
+347,7
@@
static int insert_device(struct pnp_dev *dev, struct pnp_bios_node * node)
dev->flags = node->flags;
if (!(dev->flags & PNPBIOS_NO_CONFIG))
dev->capabilities |= PNP_CONFIGURABLE;
dev->flags = node->flags;
if (!(dev->flags & PNPBIOS_NO_CONFIG))
dev->capabilities |= PNP_CONFIGURABLE;
- if (!(dev->flags & PNPBIOS_NO_DISABLE))
+ if (!(dev->flags & PNPBIOS_NO_DISABLE)
&& pnpbios_is_dynamic(dev)
)
dev->capabilities |= PNP_DISABLE;
dev->capabilities |= PNP_READ;
if (pnpbios_is_dynamic(dev))
dev->capabilities |= PNP_DISABLE;
dev->capabilities |= PNP_READ;
if (pnpbios_is_dynamic(dev))
@@
-373,7
+374,7
@@
static void __init build_devlist(void)
struct pnp_bios_node *node;
struct pnp_dev *dev;
struct pnp_bios_node *node;
struct pnp_dev *dev;
- node = k
calloc(1,
node_info.max_node_size, GFP_KERNEL);
+ node = k
zalloc(
node_info.max_node_size, GFP_KERNEL);
if (!node)
return;
if (!node)
return;
@@
-390,7
+391,7
@@
static void __init build_devlist(void)
break;
}
nodes_got++;
break;
}
nodes_got++;
- dev = k
calloc(1,
sizeof (struct pnp_dev), GFP_KERNEL);
+ dev = k
zalloc(
sizeof (struct pnp_dev), GFP_KERNEL);
if (!dev)
break;
if(insert_device(dev,node)<0)
if (!dev)
break;
if(insert_device(dev,node)<0)
@@
-526,7
+527,12
@@
static int __init pnpbios_init(void)
{
int ret;
{
int ret;
- if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table)) {
+#if defined(CONFIG_PPC_MERGE)
+ if (check_legacy_ioport(PNPBIOS_BASE))
+ return -ENODEV;
+#endif
+ if (pnpbios_disabled || dmi_check_system(pnpbios_dmi_table) ||
+ paravirt_enabled()) {
printk(KERN_INFO "PnPBIOS: Disabled\n");
return -ENODEV;
}
printk(KERN_INFO "PnPBIOS: Disabled\n");
return -ENODEV;
}
@@
-575,6
+581,10
@@
subsys_initcall(pnpbios_init);
static int __init pnpbios_thread_init(void)
{
static int __init pnpbios_thread_init(void)
{
+#if defined(CONFIG_PPC_MERGE)
+ if (check_legacy_ioport(PNPBIOS_BASE))
+ return 0;
+#endif
if (pnpbios_disabled)
return 0;
#ifdef CONFIG_HOTPLUG
if (pnpbios_disabled)
return 0;
#ifdef CONFIG_HOTPLUG