#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/mbus.h>
#include <linux/of_platform.h>
#include <linux/of_address.h>
#include <linux/platform_device.h>
#define ARMADA_DEV_WIDTH_SHIFT …
#define ARMADA_BADR_SKEW_SHIFT …
#define ARMADA_RD_HOLD_SHIFT …
#define ARMADA_ACC_NEXT_SHIFT …
#define ARMADA_RD_SETUP_SHIFT …
#define ARMADA_ACC_FIRST_SHIFT …
#define ARMADA_SYNC_ENABLE_SHIFT …
#define ARMADA_WR_HIGH_SHIFT …
#define ARMADA_WR_LOW_SHIFT …
#define ARMADA_READ_PARAM_OFFSET …
#define ARMADA_WRITE_PARAM_OFFSET …
#define ORION_RESERVED …
#define ORION_BADR_SKEW_SHIFT …
#define ORION_WR_HIGH_EXT_BIT …
#define ORION_WR_HIGH_EXT_MASK …
#define ORION_WR_LOW_EXT_BIT …
#define ORION_WR_LOW_EXT_MASK …
#define ORION_ALE_WR_EXT_BIT …
#define ORION_ALE_WR_EXT_MASK …
#define ORION_ACC_NEXT_EXT_BIT …
#define ORION_ACC_NEXT_EXT_MASK …
#define ORION_ACC_FIRST_EXT_BIT …
#define ORION_ACC_FIRST_EXT_MASK …
#define ORION_TURN_OFF_EXT_BIT …
#define ORION_TURN_OFF_EXT_MASK …
#define ORION_DEV_WIDTH_SHIFT …
#define ORION_WR_HIGH_SHIFT …
#define ORION_WR_HIGH_MASK …
#define ORION_WR_LOW_SHIFT …
#define ORION_WR_LOW_MASK …
#define ORION_ALE_WR_SHIFT …
#define ORION_ALE_WR_MASK …
#define ORION_ACC_NEXT_SHIFT …
#define ORION_ACC_NEXT_MASK …
#define ORION_ACC_FIRST_SHIFT …
#define ORION_ACC_FIRST_MASK …
#define ORION_TURN_OFF_SHIFT …
#define ORION_TURN_OFF_MASK …
struct devbus_read_params { … };
struct devbus_write_params { … };
struct devbus { … };
static int get_timing_param_ps(struct devbus *devbus,
struct device_node *node,
const char *name,
u32 *ticks)
{ … }
static int devbus_get_timing_params(struct devbus *devbus,
struct device_node *node,
struct devbus_read_params *r,
struct devbus_write_params *w)
{ … }
static void devbus_orion_set_timing_params(struct devbus *devbus,
struct device_node *node,
struct devbus_read_params *r,
struct devbus_write_params *w)
{ … }
static void devbus_armada_set_timing_params(struct devbus *devbus,
struct device_node *node,
struct devbus_read_params *r,
struct devbus_write_params *w)
{ … }
static int mvebu_devbus_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id mvebu_devbus_of_match[] = …;
MODULE_DEVICE_TABLE(of, mvebu_devbus_of_match);
static struct platform_driver mvebu_devbus_driver = …;
static int __init mvebu_devbus_init(void)
{ … }
module_init(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;