#include <linux/framer/pef2256.h>
#include <linux/clk.h>
#include <linux/framer/framer-provider.h>
#include <linux/gpio/consumer.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include "pef2256-regs.h"
enum pef2256_frame_type { … };
struct pef2256 { … };
static u8 pef2256_read8(struct pef2256 *pef2256, int offset)
{ … }
static void pef2256_write8(struct pef2256 *pef2256, int offset, u8 val)
{ … }
static void pef2256_clrbits8(struct pef2256 *pef2256, int offset, u8 clr)
{ … }
static void pef2256_setbits8(struct pef2256 *pef2256, int offset, u8 set)
{ … }
static void pef2256_clrsetbits8(struct pef2256 *pef2256, int offset, u8 clr, u8 set)
{ … }
enum pef2256_version pef2256_get_version(struct pef2256 *pef2256)
{ … }
EXPORT_SYMBOL_GPL(…);
enum pef2256_gcm_config_item { … };
struct pef2256_gcm_config { … };
static const struct pef2256_gcm_config pef2256_gcm_configs[] = …;
static int pef2256_setup_gcm(struct pef2256 *pef2256)
{ … }
static int pef2256_setup_e1_line(struct pef2256 *pef2256)
{ … }
static void pef2256_setup_e1_los(struct pef2256 *pef2256)
{ … }
static int pef2256_setup_e1_system(struct pef2256 *pef2256)
{ … }
static void pef2256_setup_e1_signaling(struct pef2256 *pef2256)
{ … }
static void pef2256_setup_e1_errors(struct pef2256 *pef2256)
{ … }
static int pef2256_setup_e1(struct pef2256 *pef2256)
{ … }
static void pef2256_isr_default_handler(struct pef2256 *pef2256, u8 nbr, u8 isr)
{ … }
static bool pef2256_is_carrier_on(struct pef2256 *pef2256)
{ … }
static void pef2256_isr2_handler(struct pef2256 *pef2256, u8 nbr, u8 isr)
{ … }
static irqreturn_t pef2256_irq_handler(int irq, void *priv)
{ … }
static int pef2256_check_rates(struct pef2256 *pef2256, unsigned long sysclk_rate,
unsigned long data_rate)
{ … }
static int pef2556_of_parse(struct pef2256 *pef2256, struct device_node *np)
{ … }
static const struct regmap_config pef2256_regmap_config = …;
static const struct mfd_cell pef2256_devs[] = …;
static int pef2256_add_audio_devices(struct pef2256 *pef2256)
{ … }
static int pef2256_framer_get_status(struct framer *framer, struct framer_status *status)
{ … }
static int pef2256_framer_set_config(struct framer *framer, const struct framer_config *config)
{ … }
static int pef2256_framer_get_config(struct framer *framer, struct framer_config *config)
{ … }
static const struct framer_ops pef2256_framer_ops = …;
static int pef2256_probe(struct platform_device *pdev)
{ … }
static void pef2256_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id pef2256_id_table[] = …;
MODULE_DEVICE_TABLE(of, pef2256_id_table);
static struct platform_driver pef2256_driver = …;
module_platform_driver(…) …;
struct regmap *pef2256_get_regmap(struct pef2256 *pef2256)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;