MFC r341268, r342003-r342007, r342087-r342088, r342091
Add pwm devices to NOTES.
Add gpio(4) and related drivers to NOTES.
The gpiopps(4) driver currently has probe and attach code only for FDT based
Build an armv7 LINT kernel in addition to armv5 LINT. You might think this
Allow compiling ukbdmap.h on arm, since it appears to work fine.
Add some i2c slave-device drivers that were missing from NOTES.
The sy8106a and syr827 drviers require FDT and the ext_resources subsystem.
Add the rtc8583 driver to conf/files. Also, move sy8106a from
Remove some unused header files from the ad7418 driver.
MFC r348740-r348741, r348995
MFC r348169-r348170, r348172-r348173, r348183-r348184
MFC r348123, r348164, r348166
Add pwm to the armv7 GENERIC kernel, it's now used by TI and Allwinner.
Do some general cleanup and light wordsmithing.
Catch up with recent changes in pwmbus(9). The pwm(9) and pwmbus(9)
Add support for the PWM(9) API. This allows configuring the pwm output using
Some mundane tweaks and cleanups to help de-clutter the diffs of some
Handle labels specified with hints even on FDT systems. Hints are the
Oops, it seems I left out the word 'cycle', fix it.
Rearrange the argument checking and processing so that enable and disable
Explain the relationship between PWM hardware channels being controlled and
Remove everything related to channels from the pwmc public interface, now
Put periods at the ends of argument descriptions. Explain the relationship
Follow changes in the pwmc(4) driver in relation to device filenames.
Put the pwmc cdev filenames under the pwm directory along with any label
Add back a const qualifier I somehow fumbled away between test-building
Implement the ofw_bus_get_node method in aw_pwm(4) so that ofw_pwmbus can
Add ofw_pwmbus to enumerate pwmbus devices on systems configured with fdt
Rework pwmbus and pwmc so that each child will handle a single PWM channel.
In detach(), call bus_generic_detach() before deleting the iicbus child.
Rename pwmbus.h to ofw_pwm.h, because after all the recent changes, there
Build SoC-specific modules with GENERIC for the SoCs that have them.
Add module makefiles for Texas Instruments ARM SoCs.
Split the dtb MODULES_EXTRA line to a series of += lines, making it easier
Add module makefiles for pwm.
This code no longer uses fdt/ofw stuff, no need to include ofw headers.
Make channel number unsigned, and spell unsigned int u_int. This should
The pwm interface was replaced with pwmbus, include the right header file.
Make pwm channel numbers unsigned.
Restructure the pwm device hirearchy and interfaces.
Destroy the cdev on device detach. Also, make the driver and devclass
Rename the channel_max method to channel_count, because that's what it's
Give the aw_pwm driver a module version.
Spell unsigned int as u_int and channel as chan; eliminates the need to wrap
Unwrap prototype lines so that return type and function name are on the
Make pwmbus driver and devclass vars static; they're not mentioned in any
Add a missing #include. I suspect this used to get included via some header
Use device_delete_children() instead of a locally-rolled copy of it that
Remove pwmbus_attach_bus(), it no longer has any callers. Also remove a
Move/rename the sys/pwm.h header file to dev/pwm/pwmc.h. The file contains
Do not include pwm.h here, it is purely a userland interface file containing
Remove pcf8563reg.h, the driver it was associated with was replaced in 2017
Handle failure to enable the clock or obtain its frequency.
Don't call pwmbus_attach_bus(), because it may not be present if this
In detach(), check for failure of bus_generic_detach(), only release
Allow pwm(9) components to be selected individually, while 'device pwm'
Don't attempt to include hwpmc support for armv6, we're missing some of the
I was going through the code putting "I think this one needs to be sync too" comments here and there. Then I realized I was pretty tagging every call to ucom_queue_command() as "needs to be sync".
For armv6 and armv7, build hwpmc_armv7.c as well as the base hwpmc_arm.c.
Don't refer to the cpu variable in a KASSERT before initializing it.
MFC r347974, r348001, r348006, r348013, r348016, r348018, r348020
I think this is a good idea, especially if these turn into KASSERT after some initial period for flushing out existing offenders.
Add pnpinfo to all i2c drivers that have FDT compat data.
Rename IICBUS_FDT_PNPINFO -> IICBUS_FDT_PNP_INFO because all the other
Use the new FDTCOMPAT_PNP_INFO() macro to define SPIBUS_FDT_PNP_INFO().
Add pnpinfo for icee(4) on fdt systems.
Define macros making it easier to define bus-specific pnpinfo for FDT systems.
Release the bus-recovery gpio pins in detach(), so that unload then
Eventually committed as r348164.
Mark i2c slave devices busy while they own the bus.
Remove accidentally-added blank line; the style throughout this file
Handle the driftfile option correctly when ntpd_flags is empty.
Add pnp info to the imx_i2c driver.
Add a new 'tr' (transfer) mode to i2c(8) to support more i2c controllers.
Reverse the bit logic of sc_led_modes_mask. Instead of initializing it to
A MAC adddress from FDT data should override anything stored in eeprom or
Don't detour through sc->sc_ue when we have a direct pointer to ue in hand
Use the new usb fdt support functions to locate the proper fdt node for
Looks good, and "make lintkernels" is happy with it.
Add common support functions for USB devices configured via FDT data.