regulator: Add to build.

Update #3869.
This commit is contained in:
Christian Mauderer
2020-02-13 10:56:26 +01:00
parent 404ad60f5f
commit 24806eec09
8 changed files with 300 additions and 0 deletions

View File

@@ -136,6 +136,9 @@ SYSINIT_DRIVER_REFERENCE(imx51_gpio, simplebus);
SYSINIT_DRIVER_REFERENCE(sdhci_fsl, simplebus);
RTEMS_BSD_DRIVER_MMC;
SYSINIT_DRIVER_REFERENCE(ofw_regulator_bus, simplebus);
SYSINIT_DRIVER_REFERENCE(gpioregulator, simplebus);
#elif defined(LIBBSP_ARM_LPC24XX_BSP_H)
RTEMS_BSD_DEFINE_NEXUS_DEVICE(ohci, 0, 0, NULL);

View File

@@ -0,0 +1,36 @@
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/extres/regulator/regdev_if.m
* with
* makeobjops.awk
*
* See the source file for legal information
*/
#ifndef _regdev_if_h_
#define _regdev_if_h_
int regdev_default_ofw_map(device_t , phandle_t, int, pcell_t *, intptr_t *);
/** @brief Unique descriptor for the REGDEV_MAP() method */
extern struct kobjop_desc regdev_map_desc;
/** @brief A function implementing the REGDEV_MAP() method */
typedef int regdev_map_t(device_t provider_dev, phandle_t xref, int ncells,
pcell_t *cells, intptr_t *id);
static __inline int REGDEV_MAP(device_t provider_dev, phandle_t xref,
int ncells, pcell_t *cells, intptr_t *id)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)provider_dev)->ops,regdev_map);
rc = ((regdev_map_t *) _m)(provider_dev, xref, ncells, cells, id);
return (rc);
}
#endif /* _regdev_if_h_ */

View File

@@ -0,0 +1,121 @@
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/extres/regulator/regnode_if.m
* with
* makeobjops.awk
*
* See the source file for legal information
*/
#ifndef _regnode_if_h_
#define _regnode_if_h_
struct regnode;
/** @brief Unique descriptor for the REGNODE_INIT() method */
extern struct kobjop_desc regnode_init_desc;
/** @brief A function implementing the REGNODE_INIT() method */
typedef int regnode_init_t(struct regnode *regnode);
static __inline int REGNODE_INIT(struct regnode *regnode)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_init);
rc = ((regnode_init_t *) _m)(regnode);
return (rc);
}
/** @brief Unique descriptor for the REGNODE_ENABLE() method */
extern struct kobjop_desc regnode_enable_desc;
/** @brief A function implementing the REGNODE_ENABLE() method */
typedef int regnode_enable_t(struct regnode *regnode, bool enable, int *udelay);
static __inline int REGNODE_ENABLE(struct regnode *regnode, bool enable,
int *udelay)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_enable);
rc = ((regnode_enable_t *) _m)(regnode, enable, udelay);
return (rc);
}
/** @brief Unique descriptor for the REGNODE_STATUS() method */
extern struct kobjop_desc regnode_status_desc;
/** @brief A function implementing the REGNODE_STATUS() method */
typedef int regnode_status_t(struct regnode *regnode, int *status);
static __inline int REGNODE_STATUS(struct regnode *regnode, int *status)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_status);
rc = ((regnode_status_t *) _m)(regnode, status);
return (rc);
}
/** @brief Unique descriptor for the REGNODE_SET_VOLTAGE() method */
extern struct kobjop_desc regnode_set_voltage_desc;
/** @brief A function implementing the REGNODE_SET_VOLTAGE() method */
typedef int regnode_set_voltage_t(struct regnode *regnode, int min_uvolt,
int max_uvolt, int *udelay);
static __inline int REGNODE_SET_VOLTAGE(struct regnode *regnode, int min_uvolt,
int max_uvolt, int *udelay)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_set_voltage);
rc = ((regnode_set_voltage_t *) _m)(regnode, min_uvolt, max_uvolt, udelay);
return (rc);
}
/** @brief Unique descriptor for the REGNODE_GET_VOLTAGE() method */
extern struct kobjop_desc regnode_get_voltage_desc;
/** @brief A function implementing the REGNODE_GET_VOLTAGE() method */
typedef int regnode_get_voltage_t(struct regnode *regnode, int *uvolt);
static __inline int REGNODE_GET_VOLTAGE(struct regnode *regnode, int *uvolt)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_get_voltage);
rc = ((regnode_get_voltage_t *) _m)(regnode, uvolt);
return (rc);
}
/** @brief Unique descriptor for the REGNODE_CHECK_VOLTAGE() method */
extern struct kobjop_desc regnode_check_voltage_desc;
/** @brief A function implementing the REGNODE_CHECK_VOLTAGE() method */
typedef int regnode_check_voltage_t(struct regnode *regnode, int uvolt);
static __inline int REGNODE_CHECK_VOLTAGE(struct regnode *regnode, int uvolt)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_check_voltage);
rc = ((regnode_check_voltage_t *) _m)(regnode, uvolt);
return (rc);
}
/** @brief Unique descriptor for the REGNODE_STOP() method */
extern struct kobjop_desc regnode_stop_desc;
/** @brief A function implementing the REGNODE_STOP() method */
typedef int regnode_stop_t(struct regnode *regnode, int *udelay);
static __inline int REGNODE_STOP(struct regnode *regnode, int *udelay)
{
kobjop_t _m;
int rc;
KOBJOPLOOKUP(((kobj_t)regnode)->ops,regnode_stop);
rc = ((regnode_stop_t *) _m)(regnode, udelay);
return (rc);
}
#endif /* _regnode_if_h_ */

View File

@@ -0,0 +1,27 @@
#include <machine/rtems-bsd-kernel-space.h>
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/extres/regulator/regdev_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/types.h>
#include <dev/ofw/ofw_bus.h>
#include <machine/bus.h>
#include <rtems/bsd/local/regdev_if.h>
struct kobjop_desc regdev_map_desc = {
0, { &regdev_map_desc, (kobjop_t)regdev_default_ofw_map }
};

View File

@@ -0,0 +1,56 @@
#include <machine/rtems-bsd-kernel-space.h>
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/extres/regulator/regnode_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/regnode_if.h>
static int
regnode_default_stop(struct regnode *regnode, int *udelay)
{
return(REGNODE_ENABLE(regnode, false, udelay));
}
struct kobjop_desc regnode_init_desc = {
0, { &regnode_init_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc regnode_enable_desc = {
0, { &regnode_enable_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc regnode_status_desc = {
0, { &regnode_status_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc regnode_set_voltage_desc = {
0, { &regnode_set_voltage_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc regnode_get_voltage_desc = {
0, { &regnode_get_voltage_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc regnode_check_voltage_desc = {
0, { &regnode_check_voltage_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc regnode_stop_desc = {
0, { &regnode_stop_desc, (kobjop_t)regnode_default_stop }
};