svn commit: r299467 - in head: share/man/man9 sys/dev/pci

Conrad Meyer cem at FreeBSD.org
Wed May 11 23:01:18 UTC 2016


Backed out in r299493.  Please re-commit after it compiles.

Best,
Conrad

On Wed, May 11, 2016 at 2:50 PM, Jung-uk Kim <jkim at freebsd.org> wrote:
> On 05/11/16 05:38 PM, Bjoern A. Zeeb wrote:
>>
>>> On 11 May 2016, at 17:07 , Andrew Turner <andrew at freebsd.org> wrote:
>>>
>>> Author: andrew
>>> Date: Wed May 11 17:07:29 2016
>>> New Revision: 299467
>>> URL: https://svnweb.freebsd.org/changeset/base/299467
>>>
>>> Log:
>>>  Add a new get_id interface to pci and pcib. This will allow us to both
>>>  detect failures, and get different PCI IDs.
>>>
>>>  For the former the interface returns an int to signal an error. The ID is
>>>  returned at a uintptr_t * argument.
>>>
>>>  For the latter there is a type argument that allows selecting the ID type.
>>>  This only specifies a single type, however a MSI type will be added
>>>  to handle the need to find the ID the hardware passes to the ARM GICv3
>>>  interrupt controller.
>>>
>>>  A follow up commit will be made to remove pci_get_rid.
>>>
>>>  Reviewed by:        jhb, rstone
>>>  Obtained from:      ABT Systems Ltd
>>>  Sponsored by:       The FreeBSD Foundation
>>>  Differential Revision:      https://reviews.freebsd.org/D6239
>>
>> Hi, seems gcc, I guess it is, doesn’t like your change:
>>
>> In file included from /scratch/tmp/bz/head.svn/sys/sparc64/isa/ofw_isa.c:78:
>> ./pcib_if.h:166: warning: 'enum pci_id_type' declared inside parameter list
>> ./pcib_if.h:166: warning: its scope is only this definition or declaration, which is probably not what you want
>> ./pcib_if.h:169: warning: 'enum pci_id_type' declared inside parameter list
>> ./pcib_if.h:169: error: parameter 3 ('type') has incomplete type
>> ./pcib_if.h: In function 'PCIB_GET_ID':
>> ./pcib_if.h:173: error: type of formal parameter 3 is incomplete
>
> Clang also fails:
>
> In file included from /usr/src/sys/dev/acpica/acpi_hpet.c:58:
> ./pcib_if.h:165:61: error: declaration of 'enum pci_id_type' will not be
> visible outside of this function [-Werror,-Wvisibility]
> typedef int pcib_get_id_t(device_t pcib, device_t dev, enum pci_id_type
> type,
>                                                             ^
> ./pcib_if.h:169:38: error: declaration of 'enum pci_id_type' will not be
> visible outside of this function [-Werror,-Wvisibility]
>                                 enum pci_id_type type, uintptr_t *id)
>                                      ^
> ./pcib_if.h:169:50: error: variable has incomplete type 'enum pci_id_type'
>                                 enum pci_id_type type, uintptr_t *id)
>                                                  ^
> ./pcib_if.h:169:38: note: forward declaration of 'enum pci_id_type'
>                                 enum pci_id_type type, uintptr_t *id)
>                                      ^
> 3 errors generated.
>
> Jung-uk Kim
>


More information about the svn-src-all mailing list