예제 #1
0
파일: pckbd.c 프로젝트: 2asoft/freebsd
static int
pckbdprobe(device_t dev)
{
	struct resource *res;
	int error, rid;

	/* Check isapnp ids */
	if (isa_get_vendorid(dev))
		return (ENXIO);

	device_set_desc(dev, "PC-98 Keyboard");

	rid = 0;
	res = isa_alloc_resourcev(dev, SYS_RES_IOPORT, &rid, pckbd_iat, 2,
				  RF_ACTIVE);
	if (res == NULL)
		return ENXIO;
	isa_load_resourcev(res, pckbd_iat, 2);

	error = pckbd_probe_unit(dev,
				 isa_get_port(dev),
				 (1 << isa_get_irq(dev)),
				 device_get_flags(dev));

	bus_release_resource(dev, SYS_RES_IOPORT, rid, res);

	return (error);
}
예제 #2
0
static int
pckbdprobe(device_t dev)
{
	/* Check isapnp ids */
	if (isa_get_vendorid(dev))
		return (ENXIO);

	device_set_desc(dev, "PC-98 Keyboard");

	return pckbd_probe_unit(device_get_unit(dev), isa_get_port(dev),
				(1 << isa_get_irq(dev)), device_get_flags(dev));
}
예제 #3
0
static int
pckbdprobe(struct isa_device *dev)
{
	return ((pckbd_probe_unit(dev->id_unit, dev->id_iobase, dev->id_irq,
				  dev->id_flags)) ? 0 : IO_KBDSIZE);
}