From d7c01f45691d4289c5b8d5cafe9e2776b03731ea Mon Sep 17 00:00:00 2001 From: Vijay Kumar Banerjee Date: Sun, 4 Aug 2019 01:49:43 +0530 Subject: fbd: Port to RTEMS --- rtemsbsd/include/bsp/nexus-devices.h | 3 ++ .../include/machine/rtems-bsd-kernel-namespace.h | 20 ++++++++++ rtemsbsd/include/machine/vm.h | 1 + rtemsbsd/include/rtems/bsd/local/fb_if.h | 45 ++++++++++++++++++++++ rtemsbsd/include/rtems/bsd/local/opt_fb.h | 0 rtemsbsd/include/rtems/bsd/local/opt_splash.h | 0 rtemsbsd/include/rtems/bsd/local/opt_syscons.h | 0 rtemsbsd/include/rtems/bsd/local/opt_teken.h | 0 rtemsbsd/local/fb_if.c | 30 +++++++++++++++ 9 files changed, 99 insertions(+) create mode 100644 rtemsbsd/include/rtems/bsd/local/fb_if.h create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_fb.h create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_splash.h create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_syscons.h create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_teken.h create mode 100644 rtemsbsd/local/fb_if.c (limited to 'rtemsbsd') diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h index e330679d..ebf1ba13 100644 --- a/rtemsbsd/include/bsp/nexus-devices.h +++ b/rtemsbsd/include/bsp/nexus-devices.h @@ -67,6 +67,9 @@ SYSINIT_DRIVER_REFERENCE(ofw_iicbus, rtems_i2c); SYSINIT_DRIVER_REFERENCE(iic, iicbus); SYSINIT_DRIVER_REFERENCE(tda, iicbus); SYSINIT_DRIVER_REFERENCE(iicbus, rtems_i2c); +SYSINIT_DRIVER_REFERENCE(fbd, fb); +SYSINIT_DRIVER_REFERENCE(fb, fb_mod); +SYSINIT_MODULE_REFERENCE(fb_mod); #ifdef RTEMS_BSD_MODULE_NET80211 SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub); SYSINIT_MODULE_REFERENCE(wlan_ratectl_none); diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h index 1606543c..94dc2cbd 100644 --- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h +++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h @@ -1264,6 +1264,16 @@ #define eventhandler_find_list _bsd_eventhandler_find_list #define eventhandler_prune_list _bsd_eventhandler_prune_list #define eventhandler_register _bsd_eventhandler_register +#define fb_commonioctl _bsd_fb_commonioctl +#define fbd_devclass _bsd_fbd_devclass +#define fbd_driver _bsd_fbd_driver +#define fbd_list _bsd_fbd_list +#define fbd_register _bsd_fbd_register +#define fb_dump_adp_info _bsd_fb_dump_adp_info +#define fb_dump_mode_info _bsd_fb_dump_mode_info +#define fbd_unregister _bsd_fbd_unregister +#define fb_list_head _bsd_fb_list_head +#define fb_type _bsd_fb_type #define fdt_addrsize_cells _bsd_fdt_addrsize_cells #define fdt_data_get _bsd_fdt_data_get #define fdt_data_to_res _bsd_fdt_data_to_res @@ -5522,8 +5532,18 @@ #define vht80_chan_ranges _bsd_vht80_chan_ranges #define vesagtf_mode _bsd_vesagtf_mode #define vesagtf_mode_params _bsd_vesagtf_mode_params +#define vid_allocate _bsd_vid_allocate +#define vid_configure _bsd_vid_configure #define videomode_count _bsd_videomode_count #define videomode_list _bsd_videomode_list +#define vid_find_adapter _bsd_vid_find_adapter +#define vid_get_adapter _bsd_vid_get_adapter +#define vid_get_switch _bsd_vid_get_switch +#define vid_init_struct _bsd_vid_init_struct +#define vid_register _bsd_vid_register +#define vid_release _bsd_vid_release +#define vidsw _bsd_vidsw +#define vid_unregister _bsd_vid_unregister #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/machine/vm.h b/rtemsbsd/include/machine/vm.h index 351b7472..b90a4cf4 100644 --- a/rtemsbsd/include/machine/vm.h +++ b/rtemsbsd/include/machine/vm.h @@ -1,2 +1,3 @@ #define VM_MEMATTR_DEFAULT 0 #define VM_MEMATTR_UNCACHEABLE 1 +#define vtophys(a) (a) diff --git a/rtemsbsd/include/rtems/bsd/local/fb_if.h b/rtemsbsd/include/rtems/bsd/local/fb_if.h new file mode 100644 index 00000000..29d2b66a --- /dev/null +++ b/rtemsbsd/include/rtems/bsd/local/fb_if.h @@ -0,0 +1,45 @@ +/* + * This file is produced automatically. + * Do not modify anything in here by hand. + * + * Created from source file + * freebsd-org/sys/dev/fb/fb_if.m + * with + * makeobjops.awk + * + * See the source file for legal information + */ + + +#ifndef _fb_if_h_ +#define _fb_if_h_ + +/** @brief Unique descriptor for the FB_PIN_MAX() method */ +extern struct kobjop_desc fb_pin_max_desc; +/** @brief A function implementing the FB_PIN_MAX() method */ +typedef int fb_pin_max_t(device_t dev, int *npins); + +static __inline int FB_PIN_MAX(device_t dev, int *npins) +{ + kobjop_t _m; + int rc; + KOBJOPLOOKUP(((kobj_t)dev)->ops,fb_pin_max); + rc = ((fb_pin_max_t *) _m)(dev, npins); + return (rc); +} + +/** @brief Unique descriptor for the FB_GETINFO() method */ +extern struct kobjop_desc fb_getinfo_desc; +/** @brief A function implementing the FB_GETINFO() method */ +typedef struct fb_info * fb_getinfo_t(device_t dev); + +static __inline struct fb_info * FB_GETINFO(device_t dev) +{ + kobjop_t _m; + struct fb_info * rc; + KOBJOPLOOKUP(((kobj_t)dev)->ops,fb_getinfo); + rc = ((fb_getinfo_t *) _m)(dev); + return (rc); +} + +#endif /* _fb_if_h_ */ diff --git a/rtemsbsd/include/rtems/bsd/local/opt_fb.h b/rtemsbsd/include/rtems/bsd/local/opt_fb.h new file mode 100644 index 00000000..e69de29b diff --git a/rtemsbsd/include/rtems/bsd/local/opt_splash.h b/rtemsbsd/include/rtems/bsd/local/opt_splash.h new file mode 100644 index 00000000..e69de29b diff --git a/rtemsbsd/include/rtems/bsd/local/opt_syscons.h b/rtemsbsd/include/rtems/bsd/local/opt_syscons.h new file mode 100644 index 00000000..e69de29b diff --git a/rtemsbsd/include/rtems/bsd/local/opt_teken.h b/rtemsbsd/include/rtems/bsd/local/opt_teken.h new file mode 100644 index 00000000..e69de29b diff --git a/rtemsbsd/local/fb_if.c b/rtemsbsd/local/fb_if.c new file mode 100644 index 00000000..b56e4a1d --- /dev/null +++ b/rtemsbsd/local/fb_if.c @@ -0,0 +1,30 @@ +#include + +/* + * This file is produced automatically. + * Do not modify anything in here by hand. + * + * Created from source file + * freebsd-org/sys/dev/fb/fb_if.m + * with + * makeobjops.awk + * + * See the source file for legal information + */ + +#include +#include +#include +#include +#include +#include +#include + +struct kobjop_desc fb_pin_max_desc = { + 0, { &fb_pin_max_desc, (kobjop_t)kobj_error_method } +}; + +struct kobjop_desc fb_getinfo_desc = { + 0, { &fb_getinfo_desc, (kobjop_t)kobj_error_method } +}; + -- cgit v1.2.3