summaryrefslogtreecommitdiffstats
path: root/sys/isa/isahint.c
Commit message (Collapse)AuthorAgeFilesLines
* Tweak the way that the ACPI and ISA bus drivers match hint devices tojhb2009-08-241-4/+23
| | | | | | | | | | | | | | | BIOS-enumerated devices: - Assume a device is a match if the memory and I/O ports match even if the IRQ or DRQ is wrong or missing. Some BIOSes don't include an IRQ for the atrtc device for example. - Add a hack to better match floppy controller devices. Many BIOSes do not include the starting port of the floppy controller listed in the hints (0x3f0) in the resources for the device. So far, however, all the BIOS variations encountered do include the 'port + 2' resource (0x3f2), so adjust the matching for "fdc" devices to look for 'port + 2'. Reviewed by: imp MFC after: 3 days
* Allow device hints to wire the unit numbers of devices.jhb2008-11-181-39/+76
| | | | | | | | | | | | | | | | | | | | - An "at" hint now reserves a device name. - A new BUS_HINT_DEVICE_UNIT method is added to the bus interface. When determining the unit number of a device, this method is invoked to let the bus driver specify the unit of a device given a specific devclass. This is the only way a device can be given a name reserved via an "at" hint. - Implement BUS_HINT_DEVICE_UNIT() for the acpi(4) and isa(4) bus drivers. Both of these busses implement this by comparing the resources for a given hint device with the resources enumerated by ACPI/PnPBIOS and wire a unit if the hint resources are a subset of the "real" resources. - Use bus_hinted_children() for adding hinted devices on isa(4) busses now instead of doing it by hand. - Remove the unit kludging from sio(4) as it is no longer necessary. Prodding from: peter, imp OK'd by: marcel MFC after: 1 month
* (apply '(lambda (reformat-region 'style-9-parens)) (read-file isahint.c))imp2006-07-081-2/+2
| | | | remove redundant parens, per style(9) to reduce that limp, lispy feeling.
* Remove old GENERIC kludge. We no longer need to skip devices namedimp2006-07-081-8/+2
| | | | | | | | | | atkbd. Version 1.162 of GENERIC fixed this problem in April of 1999. Subsequent to that, the hints data was removed from GENERIC and move to hints files. All the hints file ever created have atkbd at the right location. This should have been removed just after RELENG_4 was branched (and likely around 4.5 in RELENG_4). MFC After: 3 days
* Add ISACFGATTR_HINTS flag to allow detection of a device that was createdmdodd2005-04-131-0/+2
| | | | as a result of the hints mechanism.
* Remove local hacks to set flags now that the device probe does this for us.njl2004-10-141-4/+1
| | | | | | | Tested on every device except sio_pci and the pc98 fd.c. Perhaps something similar should be done for the "disabled" hints also. MFC after: 2 weeks
* - Use the new resource_disabled() helper function to see if devices arejhb2003-07-021-1/+1
| | | | | | | | | | | | disabled. - Change the apm driver to match the acpi driver's behavior by checking to see if the device is disabled in the identify routine instead of in the probe routine. This way if the device is disabled it is never created. Note that a few places (ips(4), Alpha SMP) used "disable" instead of "disabled" for their hint names, and these hints must be changed to "disabled". If this is a big problem, resource_disabled() can always be changed to honor both names.
* Use __FBSDID().obrien2003-06-111-2/+3
|
* Hints overhaul:peter2001-06-121-12/+10
| | | | | | | | | - Replace some very poorly thought out API hacks that should have been fixed a long while ago. - Provide some much more flexible search functions (resource_find_*()) - Use strings for storage instead of an outgrowth of the rather inconvenient temporary ioconf table from config(). We already had a fallback to using strings before malloc/vm was running anyway.
* Always call resource_int_value function for getting portsize and msize.nyan2001-03-171-4/+6
| | | | | | It was not set resource size (portsize/msize) if resource address was set. This is MFC candidate.
* Repeat after me: I will test *before* commit, not after.... *blush*peter2000-10-151-1/+1
|
* Untangle some resource matching loops that were getting on my nervespeter2000-10-151-6/+4
| | | | and seemed to be getting cut/pasted to places they shouldn't be.
* Allow a DMA channel of 0. This gets the on-board mss audio device workinggallatin1999-11-221-1/+1
| | | | | | on Digital AlphaStations 200 and 500 machines (and probably others as well). Submitted by: dfr
* * Add struct resource_list* argument to resource_list_alloc anddfr1999-10-121-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | resource_list_release. This removes the dependancy on the layout of ivars. * Move set_resource, get_resource and delete_resource from isa_if.m to bus_if.m. * Simplify driver code by providing wrappers to those methods: bus_set_resource(dev, type, rid, start, count); bus_get_resource(dev, type, rid, startp, countp); bus_get_resource_start(dev, type, rid); bus_get_resource_count(dev, type, rid); bus_delete_resource(dev, type, rid); * Delete isa_get_rsrc and use bus_get_resource_start instead. * Fix a stupid typo in isa_alloc_resource reported by Takahashi Yoshihiro <nyan@FreeBSD.org>. * Print a diagnostic message if we can't assign resources to a PnP device. * Change device_print_prettyname() so that it doesn't print "(no driver assigned)-1" for anonymous devices.
* Change isa_get/set_flags() to device_get/set_flags().dfr1999-09-071-1/+1
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Do not print resource values which are not set.yokota1999-07-241-7/+7
| | | | Reviewed by: dfr
* * Change device_add_child_after() to device_add_child_ordered() which isdfr1999-05-281-6/+6
| | | | | | | easier to use and more flexible. * Change BUS_ADD_CHILD to take an order argument instead of a place. * Define a partial ordering for isa devices so that sensitive devices are probed before non-sensitive ones.
* * Factor out the common code between the isa bus drivers for i386 and alpha.dfr1999-05-221-16/+19
| | | | | | | * Re-work the resource allocation code to use helper functions in subr_bus.c. * Add simple isa interface for manipulating the resource ranges which can be allocated and remove the code from isa_write_ivar() which was previously used for this purpose.
* * Define a new static method DEVICE_IDENTIFY which is called to add devicedfr1999-05-141-0/+131
instances to a parent bus. * Define a new method BUS_ADD_CHILD which can be called from DEVICE_IDENTIFY to add new instances. * Add a generic implementation of DEVICE_PROBE which calls DEVICE_IDENTIFY for each driver attached to the parent's devclass. * Move the hint-based isa probe from the isa driver to a new isahint driver which can be shared between i386 and alpha.
OpenPOWER on IntegriCloud