mirror of https://gitee.com/openkylin/linux.git
net: wwan: Add WWAN port type attribute
The port type is by default part of the WWAN port device name. However device name can not be considered as a 'stable' API and may be subject to change in the future. This change adds a proper device attribute that can be used to determine the WWAN protocol/ type. Signed-off-by: Loic Poulain <loic.poulain@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
885e4056d5
commit
b3e22e10fd
|
@ -169,6 +169,30 @@ static void wwan_remove_dev(struct wwan_device *wwandev)
|
|||
|
||||
/* ------- WWAN port management ------- */
|
||||
|
||||
/* Keep aligned with wwan_port_type enum */
|
||||
static const char * const wwan_port_type_str[] = {
|
||||
"AT",
|
||||
"MBIM",
|
||||
"QMI",
|
||||
"QCDM",
|
||||
"FIREHOSE"
|
||||
};
|
||||
|
||||
static ssize_t type_show(struct device *dev, struct device_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
struct wwan_port *port = to_wwan_port(dev);
|
||||
|
||||
return sprintf(buf, "%s\n", wwan_port_type_str[port->type]);
|
||||
}
|
||||
static DEVICE_ATTR_RO(type);
|
||||
|
||||
static struct attribute *wwan_port_attrs[] = {
|
||||
&dev_attr_type.attr,
|
||||
NULL,
|
||||
};
|
||||
ATTRIBUTE_GROUPS(wwan_port);
|
||||
|
||||
static void wwan_port_destroy(struct device *dev)
|
||||
{
|
||||
struct wwan_port *port = to_wwan_port(dev);
|
||||
|
@ -182,6 +206,7 @@ static void wwan_port_destroy(struct device *dev)
|
|||
static const struct device_type wwan_port_dev_type = {
|
||||
.name = "wwan_port",
|
||||
.release = wwan_port_destroy,
|
||||
.groups = wwan_port_groups,
|
||||
};
|
||||
|
||||
static int wwan_port_minor_match(struct device *dev, const void *minor)
|
||||
|
@ -201,15 +226,6 @@ static struct wwan_port *wwan_port_get_by_minor(unsigned int minor)
|
|||
return to_wwan_port(dev);
|
||||
}
|
||||
|
||||
/* Keep aligned with wwan_port_type enum */
|
||||
static const char * const wwan_port_type_str[] = {
|
||||
"AT",
|
||||
"MBIM",
|
||||
"QMI",
|
||||
"QCDM",
|
||||
"FIREHOSE"
|
||||
};
|
||||
|
||||
struct wwan_port *wwan_create_port(struct device *parent,
|
||||
enum wwan_port_type type,
|
||||
const struct wwan_port_ops *ops,
|
||||
|
|
Loading…
Reference in New Issue