| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
botches and sends us a NULL pointer. The other code in this file seems
to expect it to be able to handle it behaving this way.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
branches:
Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.
This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.
Approved by: re(scottl)
|
| |
|
| |
|
|
|
|
| |
use process pointer instead.
|
|
|
|
| |
especially in troff files.
|
|
|
|
|
|
| |
Use UID_ROOT and GID_WHEEL rather than 0.
Prompted by: rwatson
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Record all device events when devctl is enabled, rather than just when
devd has devctl open. This is necessary to prevent races between when
a device arrives, and when devd starts.
2) Add hw.bus.devctl_disable to disable devctl, this can also be set as a
tunable.
3) Fix async support. Reset nonblocking and async_td in open. remove
async flags.
4) Free all memory when devctl is disabled.
Approved by: re (blanket)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Ignoring a NULL dev in device_set_ivars() sounds wrong, KASSERT it to
non-NULL instead.
Do the same for device_get_ivars() for reasons of symmetry, though
it probably would have yielded a panic anyway, this gives more precise
diagnostics.
Absentmindedly nodded OK to by: jhb
|
|
|
|
|
|
|
| |
configuration device hierarchy. Device arrival, departure and not
matched are presently reported. This will be the basis for devd, which
I still need to polish a little more before I commit it. If you don't
use /dev/devctl, it will be a noop.
|
|
|
|
|
|
| |
o Allow the bus_debug variable to be set via the bus.debug tunable.
o Return pnpinfo and location info via the devinfo interface to userland.
devinfo(8) needs to be updated to print it.
|
|
|
|
| |
bus_child_location_str.
|
|
|
|
|
|
| |
Don't use snprintf where strlcpy() will do the job.
Also, a NUL is '\0' not 0 in our style (C doesn't care), so spell it like.
Remove useless {} and () in the general area of this change.
|
| |
|
|
|
|
|
| |
Suggested by: bde
Approved by: dfr
|
|
|
|
|
|
|
|
| |
device_t the same throughout kernel.
This is a very fine point of C which fortunatly does not make any
difference in normal circumstances but which due to the pervasiveness
of device_t in the kernel can make a lint barf a lot.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions. We add pnpinfo, locationinfo, devflags (the newbus flags
on the device), flags (the flags that device_get_flags returns) and
state to the list of things we return.
pnpinfo and locationinfo are place holders at the moment that will be
filled in by the device's parent (optionally). Userland programs will
likely use this information from time to time and take appropriate
actions.
Improvements to devinfo to follow.
|
| |
|
|
|
|
|
|
|
| |
<sys/malloc.h>.
Sorted includes as much as possible. Removed banal comment(s) attached to
includes.
|
| |
|
| |
|
| |
|
|
|
|
| |
string returned by device_get_nameunit().
|
|
|
|
| |
and 2 unformattings).
|
| |
|
|
|
|
|
|
|
| |
splice) in the "already exists" message.
Fixed some minor style bugs (KNFization to "return (foo)" had rotted
in 2 out of 177 cases).
|
|
|
|
|
|
|
| |
and a generic resource_list_print_type() function to print all resouces
of a certain type in a resource list.
Use ulmin()/ulmax() instead of min()/max() in two places to handle
u_longs correctly.
|
| |
|
|
|
|
| |
Approved by: peter
|
|
|
|
|
|
|
| |
still telling us of real problems so should remain until it stops
doing that.
Submitted by: OGAWA Takaya <t-ogawa@triaez.kaisei.org>
|
|
|
|
|
| |
int devclass_find_free_unit(devclass_t dc, int unit);
which return first free unit in given class starting from 'unit'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
number) instead of allocating next free unit for them. If someone needs
fixed place, he must specify it correctly. "Allocating next" is especially bad
because leads to double device detection and to "repeat make_dev panic" as
result. This can happens if the same devices present somewhere on PCI bus,
hints and ACPI. Making them present in one place only not always
possible, "sc" f.e. can't be removed from hints, it results to no console at
all.
2) In make_device(), detect when devclass_add_device() fails, free dev and
return. I.e. add missing error checking. This part needed to finish fix in 1),
but must be done this way in anycase, with old variant too.
|
|
|
|
| |
newbus structure (no more than subr_rman.c is anyway).
|
|
|
|
|
|
|
|
| |
support. Trying to fix the merged set where dynamic overrode
static was getting more and more complicated by the day.
This should fix the duplicate atkbd, psm, fd* etc in GENERIC. (which
paniced the alpha, but not the i386)
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
begin with.
Reviewed by: dfr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Use 8 space hard tabs
o Eliminate trailing white space (while I'm here, just in a couple of places)
o wrap mostly at 80 columns (printf literal strings being the notable
exception)
o use return (foo) consistantly
o use 0 vs NULL more consistantly
o use queue(3) xxx_FOREACH macros where appropriate (some places used it
before, others didn't).
o use BSD line continuation parameters
Pendants will likely notice minor style(9) violations, but for the
most part the file now looks much much closer to style(9) and is
mostly self-consistant.
Approved in principle by: dfr
Reviewed by: md5 (no changes to the .o)
|
|
|
|
|
| |
Submitted by: josh@zipperup.org
Submitted by: Robert Drehmel <robd@gmx.net>
|
| |
|
|
|
|
|
|
|
| |
Alter consumers of this method to conform to the new convention.
Minor cosmetic adjustments to bus.h.
This isn't of concern as this interface isn't in use yet.
|
|
|
|
|
|
|
| |
macros which provide the same functionality and are a bit more
efficient, convert use of CIRCLEQ's in resource manager to TAILQ's.
Approved by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
|
|
|
|
|
|
|
|
| |
device tree and resource manager contents. This is the kernel side of
the upcoming libdevinfo, which will expose this information to userspace
applications in a trivial fashion.
Remove the now-obsolete DEVICE_SYSCTLS code.
|
|
|
|
|
|
|
|
|
|
| |
implementation.
Add bus_generic_rl_{get,set,delete,release,alloc}_resource() functions
which provide generic operations for devices using resource list style
resource management.
This should simplify a number of bus drivers. Further commits to follow.
|
|
|
|
| |
This allows static hints to work properly.
|
|
|
|
|
| |
what we picked. Otherwise it is anybody's guess as to where the
device ended up.
|
|
|
|
| |
* Add a non-empty implementation of root_print_child().
|
|
|
|
|
|
| |
then treat it as such. This isn't perfect, but should do for things
like GENERIC. When in fallback mode, they will be used if there are NO
other hints.
|
| |
|
|
|
|
|
|
|
|
|
| |
interfaces. The original resource_find() returned a pointer to an internal
resource table entry. resource_find_hard() dereferences the actual
passed in value (oops!) - effectively trashing random memory due to
the pointer being passed in with a random initial value.
Submitted by: bde
|