[PATCH 2/6] TDA19988 : Port to RTEMS

Christian Mauderer list at c-mauderer.de
Sun Jun 30 15:48:20 UTC 2019


On 30/06/2019 17:29, Vijay Kumar Banerjee wrote:
> ---
>  Makefile.todo                                 | 27 ++++++
>  buildset/default.ini                          |  1 +
>  libbsd.py                                     | 46 ++++++++++
>  rtemsbsd/include/bsp/nexus-devices.h          |  1 +
>  .../machine/rtems-bsd-kernel-namespace.h      | 65 +++++++++++++
>  rtemsbsd/include/rtems/bsd/local/clknode_if.h | 92 +++++++++++++++++++
>  rtemsbsd/include/rtems/bsd/local/hdmi_if.h    | 71 ++++++++++++++
>  .../include/rtems/bsd/local/opt_videomode.h   |  0
>  rtemsbsd/local/clknode_if.c                   | 40 ++++++++
>  rtemsbsd/local/hdmi_if.c                      | 35 +++++++
>  10 files changed, 378 insertions(+)
>  create mode 100644 rtemsbsd/include/rtems/bsd/local/clknode_if.h
>  create mode 100644 rtemsbsd/include/rtems/bsd/local/hdmi_if.h
>  create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_videomode.h
>  create mode 100644 rtemsbsd/local/clknode_if.c
>  create mode 100644 rtemsbsd/local/hdmi_if.c
> 
> diff --git a/Makefile.todo b/Makefile.todo
> index 42bedc15..358d6956 100644
> --- a/Makefile.todo
> +++ b/Makefile.todo
> @@ -47,6 +47,10 @@ GENERATED += $(LOCAL_INC)/gpiobus_if.h
>  GENERATED += $(LOCAL_SRC)/gpiobus_if.c
>  GENERATED += $(LOCAL_INC)/iicbus_if.h
>  GENERATED += $(LOCAL_SRC)/iicbus_if.c
> +GENERATED += $(LOCAL_INC)/clknode_if.h
> +GENERATED += $(LOCAL_SRC)/clknode_if.c
> +GENERATED += $(LOCAL_INC)/hdmi_if.h
> +GENERATED += $(LOCAL_SRC)/hdmi_if.c
>  GENERATED += rtemsbsd/include/machine/rtems-bsd-regdomain.h
>  GENERATED += rtemsbsd/rtems/rtems-bsd-regdomain.c
>  
> @@ -239,6 +243,29 @@ $(LOCAL_SRC)/sdhci_if.c: $(FREEBSD_SRC)/sys/dev/sdhci/sdhci_if.m
>  	    -e 's|#include "sdhci_if.h"|#include <rtems/bsd/local/sdhci_if.h>|'
>  	mv sdhci_if.c $@
>  
> +
> +$(LOCAL_INC)/clknode_if.h: $(FREEBSD_SRC)/sys/dev/extres/clk/clknode_if.m
> +	awk -f $(TOOLS)/makeobjops.awk $< -h
> +	mv clknode_if.h $@
> +
> +$(LOCAL_SRC)/clknode_if.c: $(FREEBSD_SRC)/sys/dev/extres/clk/clknode_if.m
> +	awk -f $(TOOLS)/makeobjops.awk $< -c
> +	sed -i clknode_if.c \
> +	    -e '1 i\#include <machine/rtems-bsd-kernel-space.h>\n' \
> +	    -e 's|#include "clknode_if.h"|#include <rtems/bsd/local/clknode_if.h>|'
> +	mv clknode_if.c $@
> +
> +$(LOCAL_INC)/hdmi_if.h: $(FREEBSD_SRC)/sys/dev/hdmi/hdmi_if.m
> +	awk -f $(TOOLS)/makeobjops.awk $< -h
> +	mv hdmi_if.h $@
> +
> +$(LOCAL_SRC)/hdmi_if.c: $(FREEBSD_SRC)/sys/dev/hdmi/hdmi_if.m
> +	awk -f $(TOOLS)/makeobjops.awk $< -c
> +	sed -i hdmi_if.c \
> +	    -e '1 i\#include <machine/rtems-bsd-kernel-space.h>\n' \
> +	    -e 's|#include "hdmi_if.h"|#include <rtems/bsd/local/hdmi_if.h>|'
> +	mv hdmi_if.c $@
> +
>  $(LOCAL_SRC)/gpio_if.c: $(FREEBSD_SRC)/sys/dev/gpio/gpio_if.m
>  	awk -f $(TOOLS)/makeobjops.awk $< -c
>  	mv gpio_if.c $@
> diff --git a/buildset/default.ini b/buildset/default.ini
> index 4acb2368..1d052a48 100644
> --- a/buildset/default.ini
> +++ b/buildset/default.ini
> @@ -37,6 +37,7 @@ dev_usb_storage = on
>  dev_usb_wlan = off
>  dev_wlan_rtwn = off
>  iic = on
> +display = on
>  dhcpcd = on
>  dpaa = on
>  evdev = on
> diff --git a/libbsd.py b/libbsd.py
> index 12d4c2ed..b21ddccf 100644
> --- a/libbsd.py
> +++ b/libbsd.py
> @@ -777,6 +777,51 @@ class iic(builder.Module):
>              mm.generator['source']()
>          )
>  
> +
> +#
> +# DISPLAY
> +#
> +class display(builder.Module):
> +
> +    def __init__(self, manager):
> +        super(display, self).__init__(manager, type(self).__name__)
> +
> +    def generate(self):
> +        mm = self.manager
> +        self.addKernelSpaceHeaderFiles(
> +            [
> +                'sys/dev/extres/clk/clk.h',
> +                'sys/dev/hdmi/dwc_hdmi.h',
> +                'sys/dev/hdmi/dwc_hdmireg.h',
> +                'sys/dev/videomode/videomode.h',
> +                'sys/dev/videomode/edidvar.h',
> +                'sys/dev/videomode/edidreg.h',
> +                'sys/dev/videomode/ediddevs.h',
> +                'sys/dev/videomode/ediddevs_data.h',
> +                'sys/dev/videomode/vesagtf.h',
> +            ]
> +        )
> +        self.addKernelSpaceSourceFiles(
> +            [
> +                'sys/arm/ti/am335x/tda19988.c',
> +                'sys/dev/hdmi/dwc_hdmi.c',
> +                'sys/dev/hdmi/dwc_hdmi_fdt.c',
> +                'sys/dev/extres/clk/clk.c',

The clk.c looks like some framework for handling clocks. I would expect
that you either need some beagle bone specific clock driver too or don't
need the support at all. Where is it used?

How does it interact with the clock initializations done in the BSP? Can
a resource conflict happen there?

> +                'sys/dev/videomode/pickmode.c',
> +                'sys/dev/videomode/edid.c',
> +                'sys/dev/videomode/vesagtf.c',
> +                'sys/dev/videomode/videomode.c',
> +            ],
> +            mm.generator['source']()
> +        )
> +        self.addRTEMSSourceFiles(
> +            [
> +                'local/clknode_if.c',
> +                'local/hdmi_if.c',
> +            ],
> +            mm.generator['source']()
> +        )
> +
>  #
>  # USB
>  #
> @@ -5134,6 +5179,7 @@ def load(mm):
>      mm.addModule(dev_input(mm))
>      mm.addModule(evdev(mm))
>      mm.addModule(iic(mm))
> +    mm.addModule(display(mm))
>  
>      mm.addModule(dev_usb(mm))
>      mm.addModule(dev_usb_controller(mm))
> diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h
> index 97f6d2b2..3ec136ae 100644
> --- a/rtemsbsd/include/bsp/nexus-devices.h
> +++ b/rtemsbsd/include/bsp/nexus-devices.h
> @@ -64,6 +64,7 @@ SYSINIT_DRIVER_REFERENCE(ukphy, miibus);
>  SYSINIT_DRIVER_REFERENCE(rtems_i2c, simplebus);
>  SYSINIT_DRIVER_REFERENCE(ofw_iicbus, rtems_i2c);
>  SYSINIT_DRIVER_REFERENCE(iic, iicbus);
> +SYSINIT_DRIVER_REFERENCE(tda, iicbus);
>  SYSINIT_DRIVER_REFERENCE(iicbus, rtems_i2c);
>  #ifdef RTEMS_BSD_MODULE_NET80211
>  SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
> diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
> index 235c9886..bef9f411 100644
> --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
> +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
> @@ -563,7 +563,53 @@
>  #define	clean_unrhdrl _bsd_clean_unrhdrl
>  #define	ClearCheckNewLink _bsd_ClearCheckNewLink
>  #define	clear_unrhdr _bsd_clear_unrhdr
> +#define	clk_disable _bsd_clk_disable
> +#define	clkdom_create _bsd_clkdom_create
> +#define	clkdom_dump _bsd_clkdom_dump
> +#define	clkdom_finit _bsd_clkdom_finit
> +#define	clkdom_get_by_dev _bsd_clkdom_get_by_dev
> +#define	clkdom_set_ofw_mapper _bsd_clkdom_set_ofw_mapper
> +#define	clkdom_unlock _bsd_clkdom_unlock
> +#define	clkdom_xlock _bsd_clkdom_xlock
> +#define	clk_enable _bsd_clk_enable
> +#define	clk_get_by_id _bsd_clk_get_by_id
> +#define	clk_get_by_name _bsd_clk_get_by_name
> +#define	clk_get_by_ofw_index _bsd_clk_get_by_ofw_index
> +#define	clk_get_by_ofw_index_prop _bsd_clk_get_by_ofw_index_prop
> +#define	clk_get_by_ofw_name _bsd_clk_get_by_ofw_name
> +#define	clk_get_freq _bsd_clk_get_freq
> +#define	clk_get_name _bsd_clk_get_name
> +#define	clk_get_parent _bsd_clk_get_parent
>  #define	clk_intr_event _bsd_clk_intr_event
> +#define	clknode_class _bsd_clknode_class
> +#define	clknode_create _bsd_clknode_create
> +#define	clknode_disable _bsd_clknode_disable
> +#define	clknode_enable _bsd_clknode_enable
> +#define	clknode_find_by_id _bsd_clknode_find_by_id
> +#define	clknode_find_by_name _bsd_clknode_find_by_name
> +#define	clknode_get_device _bsd_clknode_get_device
> +#define	clknode_get_flags _bsd_clknode_get_flags
> +#define	clknode_get_freq _bsd_clknode_get_freq
> +#define	clknode_get_name _bsd_clknode_get_name
> +#define	clknode_get_parent _bsd_clknode_get_parent
> +#define	clknode_get_parent_idx _bsd_clknode_get_parent_idx
> +#define	clknode_get_parent_names _bsd_clknode_get_parent_names
> +#define	clknode_get_parents_num _bsd_clknode_get_parents_num
> +#define	clknode_get_softc _bsd_clknode_get_softc
> +#define	clknode_init_parent_idx _bsd_clknode_init_parent_idx
> +#define	clknode_register _bsd_clknode_register
> +#define	clknode_set_freq _bsd_clknode_set_freq
> +#define	clknode_set_parent_by_idx _bsd_clknode_set_parent_by_idx
> +#define	clknode_set_parent_by_name _bsd_clknode_set_parent_by_name
> +#define	clknode_stop _bsd_clknode_stop
> +#define	clk_parse_ofw_clk_name _bsd_clk_parse_ofw_clk_name
> +#define	clk_parse_ofw_out_names _bsd_clk_parse_ofw_out_names
> +#define	clk_release _bsd_clk_release
> +#define	clk_set_assigned _bsd_clk_set_assigned
> +#define	clk_set_freq _bsd_clk_set_freq
> +#define	clk_set_parent_by_clk _bsd_clk_set_parent_by_clk
> +#define	clk_stop _bsd_clk_stop
> +#define	clk_test_freq _bsd_clk_test_freq
>  #define	comp_algo_deflate _bsd_comp_algo_deflate
>  #define	comp_algorithm_lookup _bsd_comp_algorithm_lookup
>  #define	config_intrhook_disestablish _bsd_config_intrhook_disestablish
> @@ -775,6 +821,9 @@
>  #define	drbr_needs_enqueue_drv _bsd_drbr_needs_enqueue_drv
>  #define	driver_module_handler _bsd_driver_module_handler
>  #define	dwc_driver _bsd_dwc_driver
> +#define	dwc_hdmi_get_edid _bsd_dwc_hdmi_get_edid
> +#define	dwc_hdmi_init _bsd_dwc_hdmi_init
> +#define	dwc_hdmi_set_videomode _bsd_dwc_hdmi_set_videomode
>  #define	dwc_otg_attach _bsd_dwc_otg_attach
>  #define	dwc_otg_detach _bsd_dwc_otg_detach
>  #define	dwc_otg_driver _bsd_dwc_otg_driver
> @@ -1087,6 +1136,13 @@
>  #define	e1000_write_vfta_generic _bsd_e1000_write_vfta_generic
>  #define	e1000_write_vfta_i350 _bsd_e1000_write_vfta_i350
>  #define	e1000_write_xmdio_reg _bsd_e1000_write_xmdio_reg
> +#define	edid_is_valid _bsd_edid_is_valid
> +#define	edid_nproducts _bsd_edid_nproducts
> +#define	edid_nvendors _bsd_edid_nvendors
> +#define	edid_parse _bsd_edid_parse
> +#define	edid_print _bsd_edid_print
> +#define	edid_products _bsd_edid_products
> +#define	edid_vendors _bsd_edid_vendors
>  #define	ehci_detach _bsd_ehci_detach
>  #define	ehci_get_port_speed_hostc _bsd_ehci_get_port_speed_hostc
>  #define	ehci_get_port_speed_portsc _bsd_ehci_get_port_speed_portsc
> @@ -2732,6 +2788,7 @@
>  #define	m_checkalignment _bsd_m_checkalignment
>  #define	m_clget _bsd_m_clget
>  #define	m_cljget _bsd_m_cljget
> +#define	M_CLOCK _bsd_M_CLOCK
>  #define	m_collapse _bsd_m_collapse
>  #define	m_copyback _bsd_m_copyback
>  #define	m_copydata _bsd_m_copydata
> @@ -3442,6 +3499,8 @@
>  #define	pgsigio _bsd_pgsigio
>  #define	phashinit _bsd_phashinit
>  #define	phashinit_flags _bsd_phashinit_flags
> +#define	pick_mode_by_dotclock _bsd_pick_mode_by_dotclock
> +#define	pick_mode_by_ref _bsd_pick_mode_by_ref
>  #define	pipe_dtor _bsd_pipe_dtor
>  #define	pipe_named_ctor _bsd_pipe_named_ctor
>  #define	pipeselwakeup _bsd_pipeselwakeup
> @@ -4614,6 +4673,7 @@
>  #define	soreceive_generic _bsd_soreceive_generic
>  #define	soreserve _bsd_soreserve
>  #define	sorflush _bsd_sorflush
> +#define	sort_modes _bsd_sort_modes
>  #define	sosend _bsd_sosend
>  #define	sosend_dgram _bsd_sosend_dgram
>  #define	sosend_generic _bsd_sosend_generic
> @@ -4722,6 +4782,7 @@
>  #define	sysctl_handle_uma_zone_max _bsd_sysctl_handle_uma_zone_max
>  #define	sysctl___hw _bsd_sysctl___hw
>  #define	sysctl___hw_bus _bsd_sysctl___hw_bus
> +#define	sysctl___hw_clock _bsd_sysctl___hw_clock
>  #define	sysctl___hw_fdt _bsd_sysctl___hw_fdt
>  #define	sysctl___hw_pci _bsd_sysctl___hw_pci
>  #define	sysctl___hw_sdhci _bsd_sysctl___hw_sdhci
> @@ -5450,6 +5511,10 @@
>  #define	uuid_ether_add _bsd_uuid_ether_add
>  #define	uuid_ether_del _bsd_uuid_ether_del
>  #define	vht80_chan_ranges _bsd_vht80_chan_ranges
> +#define	vesagtf_mode _bsd_vesagtf_mode
> +#define	vesagtf_mode_params _bsd_vesagtf_mode_params
> +#define	videomode_count _bsd_videomode_count
> +#define	videomode_list _bsd_videomode_list
>  #define	vlan_cookie_p _bsd_vlan_cookie_p
>  #define	vlan_devat_p _bsd_vlan_devat_p
>  #define	vlan_input_p _bsd_vlan_input_p
> diff --git a/rtemsbsd/include/rtems/bsd/local/clknode_if.h b/rtemsbsd/include/rtems/bsd/local/clknode_if.h
> new file mode 100644
> index 00000000..97f4c956
> --- /dev/null
> +++ b/rtemsbsd/include/rtems/bsd/local/clknode_if.h
> @@ -0,0 +1,92 @@
> +/*
> + * This file is @generated automatically.
> + * Do not modify anything in here by hand.
> + *
> + * Created from source file
> + *   freebsd-org/sys/dev/extres/clk/clknode_if.m
> + * with
> + *   makeobjops.awk
> + *
> + * See the source file for legal information
> + */
> +
> +
> +#ifndef _clknode_if_h_
> +#define _clknode_if_h_
> +
> +
> +struct clknode;
> +
> +/** @brief Unique descriptor for the CLKNODE_INIT() method */
> +extern struct kobjop_desc clknode_init_desc;
> +/** @brief A function implementing the CLKNODE_INIT() method */
> +typedef int clknode_init_t(struct clknode *clk, device_t dev);
> +
> +static __inline int CLKNODE_INIT(struct clknode *clk, device_t dev)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)clk)->ops,clknode_init);
> +	rc = ((clknode_init_t *) _m)(clk, dev);
> +	return (rc);
> +}
> +
> +/** @brief Unique descriptor for the CLKNODE_RECALC_FREQ() method */
> +extern struct kobjop_desc clknode_recalc_freq_desc;
> +/** @brief A function implementing the CLKNODE_RECALC_FREQ() method */
> +typedef int clknode_recalc_freq_t(struct clknode *clk, uint64_t *freq);
> +
> +static __inline int CLKNODE_RECALC_FREQ(struct clknode *clk, uint64_t *freq)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)clk)->ops,clknode_recalc_freq);
> +	rc = ((clknode_recalc_freq_t *) _m)(clk, freq);
> +	return (rc);
> +}
> +
> +/** @brief Unique descriptor for the CLKNODE_SET_FREQ() method */
> +extern struct kobjop_desc clknode_set_freq_desc;
> +/** @brief A function implementing the CLKNODE_SET_FREQ() method */
> +typedef int clknode_set_freq_t(struct clknode *clk, uint64_t fin,
> +                               uint64_t *fout, int flags, int *done);
> +
> +static __inline int CLKNODE_SET_FREQ(struct clknode *clk, uint64_t fin,
> +                                     uint64_t *fout, int flags, int *done)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)clk)->ops,clknode_set_freq);
> +	rc = ((clknode_set_freq_t *) _m)(clk, fin, fout, flags, done);
> +	return (rc);
> +}
> +
> +/** @brief Unique descriptor for the CLKNODE_SET_GATE() method */
> +extern struct kobjop_desc clknode_set_gate_desc;
> +/** @brief A function implementing the CLKNODE_SET_GATE() method */
> +typedef int clknode_set_gate_t(struct clknode *clk, bool enable);
> +
> +static __inline int CLKNODE_SET_GATE(struct clknode *clk, bool enable)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)clk)->ops,clknode_set_gate);
> +	rc = ((clknode_set_gate_t *) _m)(clk, enable);
> +	return (rc);
> +}
> +
> +/** @brief Unique descriptor for the CLKNODE_SET_MUX() method */
> +extern struct kobjop_desc clknode_set_mux_desc;
> +/** @brief A function implementing the CLKNODE_SET_MUX() method */
> +typedef int clknode_set_mux_t(struct clknode *clk, int idx);
> +
> +static __inline int CLKNODE_SET_MUX(struct clknode *clk, int idx)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)clk)->ops,clknode_set_mux);
> +	rc = ((clknode_set_mux_t *) _m)(clk, idx);
> +	return (rc);
> +}
> +
> +#endif /* _clknode_if_h_ */
> diff --git a/rtemsbsd/include/rtems/bsd/local/hdmi_if.h b/rtemsbsd/include/rtems/bsd/local/hdmi_if.h
> new file mode 100644
> index 00000000..fc23c801
> --- /dev/null
> +++ b/rtemsbsd/include/rtems/bsd/local/hdmi_if.h
> @@ -0,0 +1,71 @@
> +/*
> + * This file is @generated automatically.
> + * Do not modify anything in here by hand.
> + *
> + * Created from source file
> + *   freebsd-org/sys/dev/hdmi/hdmi_if.m
> + * with
> + *   makeobjops.awk
> + *
> + * See the source file for legal information
> + */
> +
> +
> +#ifndef _hdmi_if_h_
> +#define _hdmi_if_h_
> +
> +
> +#include <sys/eventhandler.h>
> +
> +typedef void (*hdmi_event_hook)(void *, device_t, int);
> +EVENTHANDLER_DECLARE(hdmi_event, hdmi_event_hook);
> +
> +#define HDMI_EVENT_CONNECTED	0
> +
> +/** @brief Unique descriptor for the HDMI_GET_EDID() method */
> +extern struct kobjop_desc hdmi_get_edid_desc;
> +/** @brief A function implementing the HDMI_GET_EDID() method */
> +typedef int hdmi_get_edid_t(device_t dev, uint8_t **edid,
> +                            uint32_t *edid_length);
> +
> +static __inline int HDMI_GET_EDID(device_t dev, uint8_t **edid,
> +                                  uint32_t *edid_length)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)dev)->ops,hdmi_get_edid);
> +	rc = ((hdmi_get_edid_t *) _m)(dev, edid, edid_length);
> +	return (rc);
> +}
> +
> +/** @brief Unique descriptor for the HDMI_SET_VIDEOMODE() method */
> +extern struct kobjop_desc hdmi_set_videomode_desc;
> +/** @brief A function implementing the HDMI_SET_VIDEOMODE() method */
> +typedef int hdmi_set_videomode_t(device_t dev,
> +                                 const struct videomode *videomode);
> +
> +static __inline int HDMI_SET_VIDEOMODE(device_t dev,
> +                                       const struct videomode *videomode)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)dev)->ops,hdmi_set_videomode);
> +	rc = ((hdmi_set_videomode_t *) _m)(dev, videomode);
> +	return (rc);
> +}
> +
> +/** @brief Unique descriptor for the HDMI_ENABLE() method */
> +extern struct kobjop_desc hdmi_enable_desc;
> +/** @brief A function implementing the HDMI_ENABLE() method */
> +typedef int hdmi_enable_t(device_t dev, int onoff);
> +
> +static __inline int HDMI_ENABLE(device_t dev, int onoff)
> +{
> +	kobjop_t _m;
> +	int rc;
> +	KOBJOPLOOKUP(((kobj_t)dev)->ops,hdmi_enable);
> +	rc = ((hdmi_enable_t *) _m)(dev, onoff);
> +	return (rc);
> +}
> +
> +#endif /* _hdmi_if_h_ */
> diff --git a/rtemsbsd/include/rtems/bsd/local/opt_videomode.h b/rtemsbsd/include/rtems/bsd/local/opt_videomode.h
> new file mode 100644
> index 00000000..e69de29b
> diff --git a/rtemsbsd/local/clknode_if.c b/rtemsbsd/local/clknode_if.c
> new file mode 100644
> index 00000000..6f1c0ba3
> --- /dev/null
> +++ b/rtemsbsd/local/clknode_if.c
> @@ -0,0 +1,40 @@
> +#include <machine/rtems-bsd-kernel-space.h>
> +
> +/*
> + * This file is @generated automatically.
> + * Do not modify anything in here by hand.
> + *
> + * Created from source file
> + *   freebsd-org/sys/dev/extres/clk/clknode_if.m
> + * with
> + *   makeobjops.awk
> + *
> + * See the source file for legal information
> + */
> +
> +#include <sys/param.h>
> +#include <sys/queue.h>
> +#include <sys/kernel.h>
> +#include <sys/kobj.h>
> +#include <rtems/bsd/local/clknode_if.h>
> +
> +struct kobjop_desc clknode_init_desc = {
> +	0, { &clknode_init_desc, (kobjop_t)kobj_error_method }
> +};
> +
> +struct kobjop_desc clknode_recalc_freq_desc = {
> +	0, { &clknode_recalc_freq_desc, (kobjop_t)kobj_error_method }
> +};
> +
> +struct kobjop_desc clknode_set_freq_desc = {
> +	0, { &clknode_set_freq_desc, (kobjop_t)kobj_error_method }
> +};
> +
> +struct kobjop_desc clknode_set_gate_desc = {
> +	0, { &clknode_set_gate_desc, (kobjop_t)kobj_error_method }
> +};
> +
> +struct kobjop_desc clknode_set_mux_desc = {
> +	0, { &clknode_set_mux_desc, (kobjop_t)kobj_error_method }
> +};
> +
> diff --git a/rtemsbsd/local/hdmi_if.c b/rtemsbsd/local/hdmi_if.c
> new file mode 100644
> index 00000000..847f7d4d
> --- /dev/null
> +++ b/rtemsbsd/local/hdmi_if.c
> @@ -0,0 +1,35 @@
> +#include <machine/rtems-bsd-kernel-space.h>
> +
> +/*
> + * This file is @generated automatically.
> + * Do not modify anything in here by hand.
> + *
> + * Created from source file
> + *   freebsd-org/sys/dev/hdmi/hdmi_if.m
> + * with
> + *   makeobjops.awk
> + *
> + * See the source file for legal information
> + */
> +
> +#include <sys/param.h>
> +#include <sys/queue.h>
> +#include <sys/kernel.h>
> +#include <sys/kobj.h>
> +#include <sys/bus.h>
> +#include <dev/videomode/videomode.h>
> +#include <dev/videomode/edidvar.h>
> +#include <rtems/bsd/local/hdmi_if.h>
> +
> +struct kobjop_desc hdmi_get_edid_desc = {
> +	0, { &hdmi_get_edid_desc, (kobjop_t)kobj_error_method }
> +};
> +
> +struct kobjop_desc hdmi_set_videomode_desc = {
> +	0, { &hdmi_set_videomode_desc, (kobjop_t)kobj_error_method }
> +};
> +
> +struct kobjop_desc hdmi_enable_desc = {
> +	0, { &hdmi_enable_desc, (kobjop_t)kobj_error_method }
> +};
> +
> 


More information about the devel mailing list