#include <linux/device.h>
#include <linux/mod_devicetable.h>
#include <linux/slab.h>
#include <linux/sysfs.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_type.h>
#include "bus.h"
#include "sysfs_local.h"
#define sdw_slave_attr(field, format_string) …
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
sdw_slave_attr(…);
static ssize_t modalias_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(modalias);
static struct attribute *slave_attrs[] = …;
static const struct attribute_group slave_attr_group = …;
static struct attribute *slave_dev_attrs[] = …;
static const struct attribute_group sdw_slave_dev_attr_group = …;
#define sdw_dp0_attr(field, format_string) …
sdw_dp0_attr(…);
sdw_dp0_attr(…);
sdw_dp0_attr(…);
sdw_dp0_attr(…);
sdw_dp0_attr(…);
static ssize_t words_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(words);
static struct attribute *dp0_attrs[] = …;
static umode_t dp0_attr_visible(struct kobject *kobj, struct attribute *attr,
int n)
{ … }
static bool dp0_group_visible(struct kobject *kobj)
{ … }
DEFINE_SYSFS_GROUP_VISIBLE(dp0);
static const struct attribute_group dp0_group = …;
const struct attribute_group *sdw_attr_groups[] = …;
static const char *const slave_status[] = …;
static ssize_t status_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(status);
static ssize_t device_number_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(device_number);
static struct attribute *slave_status_attrs[] = …;
static const struct attribute_group sdw_slave_status_attr_group = …;
const struct attribute_group *sdw_slave_status_attr_groups[] = …;