#include <linux/ctype.h>
#include <linux/pnp.h>
-#include <linux/pnpbios.h>
#include <linux/string.h>
#include <linux/slab.h>
}
static void pnpbios_parse_allocated_memresource(struct pnp_dev *dev,
- int mem, int len)
+ int start, int len)
{
- struct resource *res;
- int i;
+ int flags = 0;
+ int end = start + len - 1;
- for (i = 0; i < PNP_MAX_MEM; i++) {
- res = pnp_get_resource(dev, IORESOURCE_MEM, i);
- if (!pnp_resource_valid(res))
- break;
- }
+ if (len <= 0)
+ flags |= IORESOURCE_DISABLED;
- if (i < PNP_MAX_MEM) {
- res->flags = IORESOURCE_MEM; // Also clears _UNSET flag
- if (len <= 0) {
- res->flags |= IORESOURCE_DISABLED;
- return;
- }
- res->start = (unsigned long)mem;
- res->end = (unsigned long)(mem + len - 1);
- }
+ pnp_add_mem_resource(dev, start, end, flags);
}
static unsigned char *pnpbios_parse_allocated_resource_data(struct pnp_dev *dev,
p[1] = map & 0xff;
p[2] = (map >> 8) & 0xff;
- dev_dbg(&dev->dev, " encode irq %d\n", res->start);
+ dev_dbg(&dev->dev, " encode irq %llu\n",
+ (unsigned long long)res->start);
}
static void pnpbios_encode_dma(struct pnp_dev *dev, unsigned char *p,
map = 1 << res->start;
p[1] = map & 0xff;
- dev_dbg(&dev->dev, " encode dma %d\n", res->start);
+ dev_dbg(&dev->dev, " encode dma %llu\n",
+ (unsigned long long)res->start);
}
static void pnpbios_encode_port(struct pnp_dev *dev, unsigned char *p,