iicbus: port to RTEMS

This commit is contained in:
Vijay Kumar Banerjee
2019-06-25 12:43:40 +05:30
committed by Christian Mauderer
parent 627fd1624e
commit 4e1325a338
7 changed files with 324 additions and 0 deletions

View File

@@ -61,6 +61,10 @@ SYSINIT_DRIVER_REFERENCE(sdhci_ti, simplebus);
SYSINIT_DRIVER_REFERENCE(mmcsd, mmc);
SYSINIT_DRIVER_REFERENCE(cpsw, cpswss);
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(iicbus, rtems_i2c);
#ifdef RTEMS_BSD_MODULE_NET80211
SYSINIT_DRIVER_REFERENCE(rtwn_usb, uhub);
SYSINIT_MODULE_REFERENCE(wlan_ratectl_none);

View File

@@ -1989,6 +1989,33 @@
#define igmp_input _bsd_igmp_input
#define igmp_mtx _bsd_igmp_mtx
#define igmp_slowtimo _bsd_igmp_slowtimo
#define iic2errno _bsd_iic2errno
#define iicbb_devclass _bsd_iicbb_devclass
#define iicbb_driver _bsd_iicbb_driver
#define iicbus_block_read _bsd_iicbus_block_read
#define iicbus_block_write _bsd_iicbus_block_write
#define iicbus_devclass _bsd_iicbus_devclass
#define iicbus_driver _bsd_iicbus_driver
#define iicbus_generic_intr _bsd_iicbus_generic_intr
#define iicbus_init_frequency _bsd_iicbus_init_frequency
#define iicbus_intr _bsd_iicbus_intr
#define iicbus_null_callback _bsd_iicbus_null_callback
#define iicbus_null_repeated_start _bsd_iicbus_null_repeated_start
#define iicbus_read _bsd_iicbus_read
#define iicbus_read_byte _bsd_iicbus_read_byte
#define iicbus_release_bus _bsd_iicbus_release_bus
#define iicbus_repeated_start _bsd_iicbus_repeated_start
#define iicbus_request_bus _bsd_iicbus_request_bus
#define iicbus_start _bsd_iicbus_start
#define iicbus_started _bsd_iicbus_started
#define iicbus_stop _bsd_iicbus_stop
#define iicbus_transfer _bsd_iicbus_transfer
#define iicbus_transfer_excl _bsd_iicbus_transfer_excl
#define iicbus_transfer_gen _bsd_iicbus_transfer_gen
#define iicbus_write _bsd_iicbus_write
#define iicbus_write_byte _bsd_iicbus_write_byte
#define iicdev_readfrom _bsd_iicdev_readfrom
#define iicdev_writeto _bsd_iicdev_writeto
#define im6o_mc_filter _bsd_im6o_mc_filter
#define imo_multi_filter _bsd_imo_multi_filter
#define in4_cksum _bsd_in4_cksum
@@ -3021,6 +3048,8 @@
#define ofw_gpiobus_parse_gpios _bsd_ofw_gpiobus_parse_gpios
#define ofw_gpiobus_register_provider _bsd_ofw_gpiobus_register_provider
#define ofw_gpiobus_unregister_provider _bsd_ofw_gpiobus_unregister_provider
#define ofw_iicbus_devclass _bsd_ofw_iicbus_devclass
#define ofw_iicbus_driver _bsd_ofw_iicbus_driver
#define ofw_parse_bootargs _bsd_ofw_parse_bootargs
#define ofw_reg_to_paddr _bsd_ofw_reg_to_paddr
#define OF_write _bsd_OF_write

View File

@@ -0,0 +1,166 @@
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/iicbus/iicbus_if.m
* with
* makeobjops.awk
*
* See the source file for legal information
*/
#ifndef _iicbus_if_h_
#define _iicbus_if_h_
/** @brief Unique descriptor for the IICBUS_INTR() method */
extern struct kobjop_desc iicbus_intr_desc;
/** @brief A function implementing the IICBUS_INTR() method */
typedef int iicbus_intr_t(device_t dev, int event, char *buf);
static __inline int IICBUS_INTR(device_t dev, int event, char *buf)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_intr);
rc = ((iicbus_intr_t *) _m)(dev, event, buf);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_CALLBACK() method */
extern struct kobjop_desc iicbus_callback_desc;
/** @brief A function implementing the IICBUS_CALLBACK() method */
typedef int iicbus_callback_t(device_t dev, int index, caddr_t data);
static __inline int IICBUS_CALLBACK(device_t dev, int index, caddr_t data)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_callback);
rc = ((iicbus_callback_t *) _m)(dev, index, data);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_REPEATED_START() method */
extern struct kobjop_desc iicbus_repeated_start_desc;
/** @brief A function implementing the IICBUS_REPEATED_START() method */
typedef int iicbus_repeated_start_t(device_t dev, u_char slave, int timeout);
static __inline int IICBUS_REPEATED_START(device_t dev, u_char slave,
int timeout)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_repeated_start);
rc = ((iicbus_repeated_start_t *) _m)(dev, slave, timeout);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_START() method */
extern struct kobjop_desc iicbus_start_desc;
/** @brief A function implementing the IICBUS_START() method */
typedef int iicbus_start_t(device_t dev, u_char slave, int timeout);
static __inline int IICBUS_START(device_t dev, u_char slave, int timeout)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_start);
rc = ((iicbus_start_t *) _m)(dev, slave, timeout);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_STOP() method */
extern struct kobjop_desc iicbus_stop_desc;
/** @brief A function implementing the IICBUS_STOP() method */
typedef int iicbus_stop_t(device_t dev);
static __inline int IICBUS_STOP(device_t dev)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_stop);
rc = ((iicbus_stop_t *) _m)(dev);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_READ() method */
extern struct kobjop_desc iicbus_read_desc;
/** @brief A function implementing the IICBUS_READ() method */
typedef int iicbus_read_t(device_t dev, char *buf, int len, int *bytes,
int last, int delay);
static __inline int IICBUS_READ(device_t dev, char *buf, int len, int *bytes,
int last, int delay)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_read);
rc = ((iicbus_read_t *) _m)(dev, buf, len, bytes, last, delay);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_WRITE() method */
extern struct kobjop_desc iicbus_write_desc;
/** @brief A function implementing the IICBUS_WRITE() method */
typedef int iicbus_write_t(device_t dev, const char *buf, int len, int *bytes,
int timeout);
static __inline int IICBUS_WRITE(device_t dev, const char *buf, int len,
int *bytes, int timeout)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_write);
rc = ((iicbus_write_t *) _m)(dev, buf, len, bytes, timeout);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_RESET() method */
extern struct kobjop_desc iicbus_reset_desc;
/** @brief A function implementing the IICBUS_RESET() method */
typedef int iicbus_reset_t(device_t dev, u_char speed, u_char addr,
u_char *oldaddr);
static __inline int IICBUS_RESET(device_t dev, u_char speed, u_char addr,
u_char *oldaddr)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_reset);
rc = ((iicbus_reset_t *) _m)(dev, speed, addr, oldaddr);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_TRANSFER() method */
extern struct kobjop_desc iicbus_transfer_desc;
/** @brief A function implementing the IICBUS_TRANSFER() method */
typedef int iicbus_transfer_t(device_t dev, struct iic_msg *msgs,
uint32_t nmsgs);
static __inline int IICBUS_TRANSFER(device_t dev, struct iic_msg *msgs,
uint32_t nmsgs)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_transfer);
rc = ((iicbus_transfer_t *) _m)(dev, msgs, nmsgs);
return (rc);
}
/** @brief Unique descriptor for the IICBUS_GET_FREQUENCY() method */
extern struct kobjop_desc iicbus_get_frequency_desc;
/** @brief A function implementing the IICBUS_GET_FREQUENCY() method */
typedef u_int iicbus_get_frequency_t(device_t dev, u_char speed);
static __inline u_int IICBUS_GET_FREQUENCY(device_t dev, u_char speed)
{
kobjop_t _m;
u_int rc;
KOBJOPLOOKUP(((kobj_t)dev)->ops,iicbus_get_frequency);
rc = ((iicbus_get_frequency_t *) _m)(dev, speed);
return (rc);
}
#endif /* _iicbus_if_h_ */