linux/drivers/hwmon/pmbus/bpa-rs600.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Hardware monitoring driver for BluTek BPA-RS600 Power Supplies
 *
 * Copyright 2021 Allied Telesis Labs
 */

#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pmbus.h>
#include "pmbus.h"

enum chips {};

static int bpa_rs600_read_byte_data(struct i2c_client *client, int page, int reg)
{}

/*
 * The BPA-RS600 violates the PMBus spec. Specifically it treats the
 * mantissa as unsigned. Deal with this here to allow the PMBus core
 * to work with correctly encoded data.
 */
static int bpa_rs600_read_vin(struct i2c_client *client)
{}

/*
 * Firmware V5.70 incorrectly reports 1640W for MFR_PIN_MAX.
 * Deal with this by returning a sensible value.
 */
static int bpa_rs600_read_pin_max(struct i2c_client *client)
{}

static int bpa_rs600_read_word_data(struct i2c_client *client, int page, int phase, int reg)
{}

static struct pmbus_driver_info bpa_rs600_info =;

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

static int bpa_rs600_probe(struct i2c_client *client)
{}

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

static struct i2c_driver bpa_rs600_driver =;

module_i2c_driver();

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