/*
 * Common Cumulus platform module APIs.
 *
 * Copyright (C) 2017 Cumulus Networks, Inc.
 * Author: Curt Brune <curt@cumulusnetworks.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; version 2.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * https://www.gnu.org/licenses/gpl-2.0-standalone.html
 */

#ifndef CUMULUS_PLATFORM_H__
#define CUMULUS_PLATFORM_H__

#include <linux/device.h>
#include <linux/i2c.h>
#include <linux/gpio/driver.h>

extern int cumulus_i2c_find_adapter(const char *name);

extern struct i2c_client *
cumulus_i2c_add_client(int bus, struct i2c_board_info *info);

extern ssize_t cumulus_gpio_map_show(struct device *dev,
				     struct gpio_chip *chip,
				     char *buf);

#endif /* CUMULUS_PLATFORM_H__ */
