History log of /netbsd-current/sys/dev/pci/xmm7360.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.17 27-Oct-2022 riastradh

wwanc(4): Convert to ttylock/ttyunlock.


Revision tags: bouyer-sunxi-drm-base
# 1.16 12-Feb-2022 thorpej

Don't dig into the guts of selinfo.


# 1.15 12-Feb-2022 thorpej

Add inline functions to manipulate the klists that link up knotes
via kn_selnext:

- klist_init()
- klist_fini()
- klist_insert()
- klist_remove()

These provide some API insulation from the implementation details of these
lists (but not completely; see vn_knote_attach() and vn_knote_detach()).
Currently just a wrapper around SLIST(9).

This will make it significantly easier to switch kn_selnext linkage
to a different kind of list.


# 1.14 12-Feb-2022 riastradh

sys: Fix various abuse of struct device internals.

Will help to make struct device opaque later.


# 1.13 18-Oct-2021 hannken

Use a local static variable to hold "pktq_rps_hash_default"
like the other devices do.

Kernel ALL/amd64 compiles again.

OK: Kengo NAKAHARA <knakahara@netbsd.org>


# 1.12 11-Oct-2021 knakahara

Make pktq_rps_hash() pluggable for each interface type. Reviewed by gdt@n.o, thorpej@n.o, and riastradh@n.o, thanks.


# 1.11 11-Oct-2021 thorpej

Setting EV_EOF requires modifying kn->kn_flags. However, that relies on
holding the kq_lock of that note's kq. Rather than exposing this directly,
add new knote_set_eof() and knote_clear_eof() functions that handle the
necessary locking and don't leak as many implementation details to modules.

NetBSD 9.99.91


# 1.10 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


Revision tags: thorpej-i2c-spi-conf2-base
# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.16 12-Feb-2022 thorpej

Don't dig into the guts of selinfo.


# 1.15 12-Feb-2022 thorpej

Add inline functions to manipulate the klists that link up knotes
via kn_selnext:

- klist_init()
- klist_fini()
- klist_insert()
- klist_remove()

These provide some API insulation from the implementation details of these
lists (but not completely; see vn_knote_attach() and vn_knote_detach()).
Currently just a wrapper around SLIST(9).

This will make it significantly easier to switch kn_selnext linkage
to a different kind of list.


# 1.14 12-Feb-2022 riastradh

sys: Fix various abuse of struct device internals.

Will help to make struct device opaque later.


# 1.13 18-Oct-2021 hannken

Use a local static variable to hold "pktq_rps_hash_default"
like the other devices do.

Kernel ALL/amd64 compiles again.

OK: Kengo NAKAHARA <knakahara@netbsd.org>


# 1.12 11-Oct-2021 knakahara

Make pktq_rps_hash() pluggable for each interface type. Reviewed by gdt@n.o, thorpej@n.o, and riastradh@n.o, thanks.


# 1.11 11-Oct-2021 thorpej

Setting EV_EOF requires modifying kn->kn_flags. However, that relies on
holding the kq_lock of that note's kq. Rather than exposing this directly,
add new knote_set_eof() and knote_clear_eof() functions that handle the
necessary locking and don't leak as many implementation details to modules.

NetBSD 9.99.91


# 1.10 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


Revision tags: thorpej-i2c-spi-conf2-base
# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.14 12-Feb-2022 riastradh

sys: Fix various abuse of struct device internals.

Will help to make struct device opaque later.


# 1.13 18-Oct-2021 hannken

Use a local static variable to hold "pktq_rps_hash_default"
like the other devices do.

Kernel ALL/amd64 compiles again.

OK: Kengo NAKAHARA <knakahara@netbsd.org>


# 1.12 11-Oct-2021 knakahara

Make pktq_rps_hash() pluggable for each interface type. Reviewed by gdt@n.o, thorpej@n.o, and riastradh@n.o, thanks.


# 1.11 11-Oct-2021 thorpej

Setting EV_EOF requires modifying kn->kn_flags. However, that relies on
holding the kq_lock of that note's kq. Rather than exposing this directly,
add new knote_set_eof() and knote_clear_eof() functions that handle the
necessary locking and don't leak as many implementation details to modules.

NetBSD 9.99.91


# 1.10 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


Revision tags: thorpej-i2c-spi-conf2-base
# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.13 18-Oct-2021 hannken

Use a local static variable to hold "pktq_rps_hash_default"
like the other devices do.

Kernel ALL/amd64 compiles again.

OK: Kengo NAKAHARA <knakahara@netbsd.org>


# 1.12 11-Oct-2021 knakahara

Make pktq_rps_hash() pluggable for each interface type. Reviewed by gdt@n.o, thorpej@n.o, and riastradh@n.o, thanks.


# 1.11 11-Oct-2021 thorpej

Setting EV_EOF requires modifying kn->kn_flags. However, that relies on
holding the kq_lock of that note's kq. Rather than exposing this directly,
add new knote_set_eof() and knote_clear_eof() functions that handle the
necessary locking and don't leak as many implementation details to modules.

NetBSD 9.99.91


# 1.10 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


Revision tags: thorpej-i2c-spi-conf2-base
# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.12 11-Oct-2021 knakahara

Make pktq_rps_hash() pluggable for each interface type. Reviewed by gdt@n.o, thorpej@n.o, and riastradh@n.o, thanks.


# 1.11 11-Oct-2021 thorpej

Setting EV_EOF requires modifying kn->kn_flags. However, that relies on
holding the kq_lock of that note's kq. Rather than exposing this directly,
add new knote_set_eof() and knote_clear_eof() functions that handle the
necessary locking and don't leak as many implementation details to modules.

NetBSD 9.99.91


# 1.10 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


Revision tags: thorpej-i2c-spi-conf2-base
# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.10 26-Sep-2021 thorpej

Change the kqueue filterops::f_isfd field to filterops::f_flags, and
define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd.
Field and flag name aligned with OpenBSD.

This does not constitute a functional or ABI change, as the field location
and size, and the value placed in that field, are the same as the previous
code, but we're bumping __NetBSD_Version__ so 3rd-party module source code
can adapt, as needed.

NetBSD 9.99.89


Revision tags: thorpej-i2c-spi-conf2-base
# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.9 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
# 1.8 16-Jul-2021 andvar

branches: 1.8.2;
Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.7 24-Apr-2021 thorpej

branches: 1.7.2;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.8 16-Jul-2021 andvar

Add missing RCSID, remove non-breaking space characters in copyright, remove vim modeline (from yambo in IRC).
ok riastradh


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.7 24-Apr-2021 thorpej

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.7 24-Apr-2021 thorpej

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.6 29-Jul-2020 jdolecek

branches: 1.6.4;
fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.6 29-Jul-2020 jdolecek

fix xmm7360_os_msleep() macro to actually work when not wrapped inside a block

from genua


# 1.5 29-Jul-2020 jdolecek

sprinkle __diagused so this compiles without DIAGNOSTIC


# 1.4 29-Jul-2020 jdolecek

adjust OpenBSD mbuf handling so tcpdump(1) works there; from genua

keep code as-is for NetBSD, DLT_RAW works there


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly


# 1.3 27-Jul-2020 riastradh

Nix trailing whitespace.

Helpful hint:

(setq show-trailing-whitespace t)


# 1.2 26-Jul-2020 jdolecek

fix attribution - I was confused what was the correct final version


# 1.1 26-Jul-2020 jdolecek

Add driver for Intel XMM7360 LTE modem, based upon Linux driver available
at https://github.com/xmm7360/xmm7360-pci

This version works on Linux, OpenBSD, and NetBSD.

OpenBSD port written for genua GmbH

Modem requires python script from the master site to initialize the network,
it will be added to pkgsrc shortly