svn commit: r299108 - head/sys/sys
Ngie Cooper (yaneurabeya)
yaneurabeya at gmail.com
Thu May 5 08:08:34 UTC 2016
> On May 4, 2016, at 20:17, John Baldwin <jhb at freebsd.org> wrote:
>
> On Thursday, May 05, 2016 02:51:31 AM Garrett Cooper wrote:
>> Author: ngie
>> Date: Thu May 5 02:51:31 2016
>> New Revision: 299108
>> URL: https://svnweb.freebsd.org/changeset/base/299108
>>
>> Log:
>> Revert r299096
>>
>> The change broke buildworld when building lib/libkvm
>>
>> This change likely needs to be run through a ports -exp run as a sanity
>> check, as it might break downstream consumers.
>>
>> Pointyhat to: adrian
>> Reported by: kargl (confirmed on $work workstation)
>> Sponsored by: EMC / Isilon Storage Division
>
> 'struct foo *' can be use with a simple forward declare in headers without
> requiring header pollution (and is often done for that reason). device_t
> should be used in any .c files, but headers might need to stick with
> 'struct device *' in a few cases for that reason. I suspect both of these
> fall into that category.
I agree based on the technical point (I didn’t dig into the why, but it makes sense), but this commit wasn’t even compile tested. I would rather figure out what the effects are before reintroducing the change.
If this is being done to address compatibility issues with linuxkpi, I see two paths forward with this (there are probably more..):
1. Convert everything over to device_t (which bde@ disagrees with), after doing a full tinderbox run and exp- run
2. Localize the “shim”/typedef to linuxkpi so device_t is used there, or struct device* is used there.
Thoughts?
-Ngie
More information about the svn-src-head
mailing list