linux/drivers/clk/clk-max9485.c

// SPDX-License-Identifier: GPL-2.0

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/regulator/consumer.h>

#include <dt-bindings/clock/maxim,max9485.h>

#define MAX9485_NUM_CLKS

/* This chip has only one register of 8 bit width. */

#define MAX9485_FS_12KHZ
#define MAX9485_FS_32KHZ
#define MAX9485_FS_44_1KHZ
#define MAX9485_FS_48KHZ

#define MAX9485_SCALE_256
#define MAX9485_SCALE_384
#define MAX9485_SCALE_768

#define MAX9485_DOUBLE
#define MAX9485_CLKOUT1_ENABLE
#define MAX9485_CLKOUT2_ENABLE
#define MAX9485_MCLK_ENABLE
#define MAX9485_FREQ_MASK

struct max9485_rate {};

/*
 * Ordered by frequency. For frequency the hardware can generate with
 * multiple settings, the one with lowest jitter is listed first.
 */
static const struct max9485_rate max9485_rates[] =;

struct max9485_driver_data;

struct max9485_clk_hw {};

struct max9485_driver_data {};

static inline struct max9485_clk_hw *to_max9485_clk(struct clk_hw *hw)
{}

static int max9485_update_bits(struct max9485_driver_data *drvdata,
			       u8 mask, u8 value)
{}

static int max9485_clk_prepare(struct clk_hw *hw)
{}

static void max9485_clk_unprepare(struct clk_hw *hw)
{}

/*
 * CLKOUT - configurable clock output
 */
static int max9485_clkout_set_rate(struct clk_hw *hw, unsigned long rate,
				   unsigned long parent_rate)
{}

static unsigned long max9485_clkout_recalc_rate(struct clk_hw *hw,
						unsigned long parent_rate)
{}

static long max9485_clkout_round_rate(struct clk_hw *hw, unsigned long rate,
				      unsigned long *parent_rate)
{}

struct max9485_clk {};

static const struct max9485_clk max9485_clks[MAX9485_NUM_CLKS] =;

static struct clk_hw *
max9485_of_clk_get(struct of_phandle_args *clkspec, void *data)
{}

static int max9485_i2c_probe(struct i2c_client *client)
{}

static int __maybe_unused max9485_suspend(struct device *dev)
{}

static int __maybe_unused max9485_resume(struct device *dev)
{}

static const struct dev_pm_ops max9485_pm_ops =;

static const struct of_device_id max9485_dt_ids[] =;
MODULE_DEVICE_TABLE(of, max9485_dt_ids);

static const struct i2c_device_id max9485_i2c_ids[] =;
MODULE_DEVICE_TABLE(i2c, max9485_i2c_ids);

static struct i2c_driver max9485_driver =;
module_i2c_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();