<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/pwm/pwmc.c, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-09-01T21:57:50Z</updated>
<entry>
<title>pwm: clean up empty lines in .c and .h files</title>
<updated>2020-09-01T21:57:50Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-09-01T21:57:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d1779f95e20a57e70c6c9f0908513b72b8e18610'/>
<id>urn:sha1:d1779f95e20a57e70c6c9f0908513b72b8e18610</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove "all rights reserved" from copyright for the file I own.</title>
<updated>2019-12-03T21:00:45Z</updated>
<author>
<name>Emmanuel Vadot</name>
<email>manu@FreeBSD.org</email>
</author>
<published>2019-12-03T21:00:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e213223c9b89a79738823f719b3d6285049f8393'/>
<id>urn:sha1:e213223c9b89a79738823f719b3d6285049f8393</id>
<content type='text'>
Some of the files have both me and Jared McNeill and he gave me
permission to remove it from his files too.
</content>
</entry>
<entry>
<title>Handle labels specified with hints even on FDT systems.  Hints are the</title>
<updated>2019-06-18T17:05:05Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-18T17:05:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=edd96b9fb91f11c232fe76e2b3e7875a6f6776ab'/>
<id>urn:sha1:edd96b9fb91f11c232fe76e2b3e7875a6f6776ab</id>
<content type='text'>
easiest thing for a user to control (via loader.conf or kenv+kldload), so
handle them in addition to any label specified via the FDT data.
</content>
</entry>
<entry>
<title>Remove everything related to channels from the pwmc public interface, now</title>
<updated>2019-06-18T00:11:00Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-18T00:11:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=780c3de886522ebc73f3fcdfc65b224f737a7180'/>
<id>urn:sha1:780c3de886522ebc73f3fcdfc65b224f737a7180</id>
<content type='text'>
that there is a pwmc(4) instance per channel and the channel number is
maintained as a driver ivar rather than being passed in from userland.
</content>
</entry>
<entry>
<title>Put the pwmc cdev filenames under the pwm directory along with any label</title>
<updated>2019-06-17T16:26:43Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-17T16:26:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b5d67730ee032cd97d39394282c79b3bf481a0e2'/>
<id>urn:sha1:b5d67730ee032cd97d39394282c79b3bf481a0e2</id>
<content type='text'>
names.  I.e., everything related to pwm now goes in /dev/pwm.  This will
make it easier for userland tools to turn an unqualified name into a fully
qualified pathname, whether it's the base pwmcX.Y name or a label name.
</content>
</entry>
<entry>
<title>Add back a const qualifier I somehow fumbled away between test-building</title>
<updated>2019-06-17T03:48:44Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-17T03:48:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=2c6c030ce24ab838889c0fa4656f347a4c12e366'/>
<id>urn:sha1:2c6c030ce24ab838889c0fa4656f347a4c12e366</id>
<content type='text'>
and committing recent changes.
</content>
</entry>
<entry>
<title>Add ofw_pwmbus to enumerate pwmbus devices on systems configured with fdt</title>
<updated>2019-06-17T03:32:05Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-17T03:32:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b43e2c8b56b9f494a962c82572e0306ac06ad8d7'/>
<id>urn:sha1:b43e2c8b56b9f494a962c82572e0306ac06ad8d7</id>
<content type='text'>
data.  Also, add fdt support to pwmc.
</content>
</entry>
<entry>
<title>Rework pwmbus and pwmc so that each child will handle a single PWM channel.</title>
<updated>2019-06-16T19:44:42Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-16T19:44:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0af7a9a45179bc98c1f62c21c5272d7cae74e9ed'/>
<id>urn:sha1:0af7a9a45179bc98c1f62c21c5272d7cae74e9ed</id>
<content type='text'>
Previously, there was a pwmc instance for each instance of pwm hardware
regardless of how many pwm channels that hardware supported.  Now there
will be a pwmc instance for each channel when the hardware supports
multiple channels.  With a separate instance for each channel, we can have
"named channels" in userland by making devfs alias entries in /dev/pwm.

These changes add support for ivars to pwmbus, and use an ivar to track the
channel number for each child.  It also adds support for hinted children.

In pwmc, the driver checks for a label hint, and if present, it's used to
create an alias for the cdev in /dev/pwm.  It's not anticipated that hints
will be heavily used, but it's easy to do and allows quick ad-hoc creation
of named channels from userland by using kenv to create hint.pwmc.N.label=
hints.  Upcoming changes will add FDT support, and most labels will
probably be specified that way.
</content>
</entry>
<entry>
<title>Make pwm channel numbers unsigned.</title>
<updated>2019-06-15T23:02:09Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-15T23:02:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6cdbe2bf20c987baec4023565b12b24ab07cef72'/>
<id>urn:sha1:6cdbe2bf20c987baec4023565b12b24ab07cef72</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Restructure the pwm device hirearchy and interfaces.</title>
<updated>2019-06-15T22:25:39Z</updated>
<author>
<name>Ian Lepore</name>
<email>ian@FreeBSD.org</email>
</author>
<published>2019-06-15T22:25:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f8f8d87cd902d79d09e315cac56f996cdeffa9fc'/>
<id>urn:sha1:f8f8d87cd902d79d09e315cac56f996cdeffa9fc</id>
<content type='text'>
The pwm and pwmbus interfaces were nearly identical, this merges them into a
single pwmbus interface.  The pwmbus driver now implements the pwmbus
interface by simply passing all calls through to its parent (the hardware
driver).  The channel_count method moves from pwm to pwmbus, and the
get_bus method is deleted (just no longer needed).

The net effect is that the interface for doing pwm stuff is now the same
regardless of whether you're a child of pwmbus, or some random driver
elsewhere in the hierarchy that is bypassing the pwmbus layer and is talking
directly to the hardware driver via cross-hierarchy connections established
using fdt data.

The pwmc driver is now a child of pwmbus, instead of being its sibling
(that's why the get_bus method is no longer needed; pwmc now gets the
device_t of the bus using device_get_parent()).
</content>
</entry>
</feed>
