mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 02:50:43 +00:00
hv_netvsc: introduce {net, hv}_device_to_netvsc_device() helpers
Make it easier to get 'struct netvsc_device' from 'struct net_device' and 'struct hv_device' by introducing inline helpers. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4baa994dc9
commit
2625466d6d
3 changed files with 22 additions and 25 deletions
|
@ -743,6 +743,18 @@ struct netvsc_device {
|
|||
atomic_t vf_use_cnt;
|
||||
};
|
||||
|
||||
static inline struct netvsc_device *
|
||||
net_device_to_netvsc_device(struct net_device *ndev)
|
||||
{
|
||||
return ((struct net_device_context *)netdev_priv(ndev))->nvdev;
|
||||
}
|
||||
|
||||
static inline struct netvsc_device *
|
||||
hv_device_to_netvsc_device(struct hv_device *device)
|
||||
{
|
||||
return net_device_to_netvsc_device(hv_get_drvdata(device));
|
||||
}
|
||||
|
||||
/* NdisInitialize message */
|
||||
struct rndis_initialize_request {
|
||||
u32 req_id;
|
||||
|
|
|
@ -95,9 +95,7 @@ static void free_netvsc_device(struct netvsc_device *nvdev)
|
|||
|
||||
static struct netvsc_device *get_outbound_net_device(struct hv_device *device)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(device);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *net_device = net_device_ctx->nvdev;
|
||||
struct netvsc_device *net_device = hv_device_to_netvsc_device(device);
|
||||
|
||||
if (net_device && net_device->destroy)
|
||||
net_device = NULL;
|
||||
|
@ -107,9 +105,7 @@ static struct netvsc_device *get_outbound_net_device(struct hv_device *device)
|
|||
|
||||
static struct netvsc_device *get_inbound_net_device(struct hv_device *device)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(device);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *net_device = net_device_ctx->nvdev;
|
||||
struct netvsc_device *net_device = hv_device_to_netvsc_device(device);
|
||||
|
||||
if (!net_device)
|
||||
goto get_in_err;
|
||||
|
@ -128,8 +124,7 @@ static int netvsc_destroy_buf(struct hv_device *device)
|
|||
struct nvsp_message *revoke_packet;
|
||||
int ret = 0;
|
||||
struct net_device *ndev = hv_get_drvdata(device);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *net_device = net_device_ctx->nvdev;
|
||||
struct netvsc_device *net_device = net_device_to_netvsc_device(ndev);
|
||||
|
||||
/*
|
||||
* If we got a section count, it means we received a
|
||||
|
|
|
@ -546,8 +546,7 @@ static int rndis_filter_query_device_mac(struct rndis_device *dev)
|
|||
int rndis_filter_set_device_mac(struct hv_device *hdev, char *mac)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(hdev);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *nvdev = net_device_ctx->nvdev;
|
||||
struct netvsc_device *nvdev = net_device_to_netvsc_device(ndev);
|
||||
struct rndis_device *rdev = nvdev->extension;
|
||||
struct rndis_request *request;
|
||||
struct rndis_set_request *set;
|
||||
|
@ -626,8 +625,7 @@ rndis_filter_set_offload_params(struct hv_device *hdev,
|
|||
struct ndis_offload_params *req_offloads)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(hdev);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *nvdev = net_device_ctx->nvdev;
|
||||
struct netvsc_device *nvdev = net_device_to_netvsc_device(ndev);
|
||||
struct rndis_device *rdev = nvdev->extension;
|
||||
struct rndis_request *request;
|
||||
struct rndis_set_request *set;
|
||||
|
@ -851,8 +849,7 @@ static int rndis_filter_init_device(struct rndis_device *dev)
|
|||
u32 status;
|
||||
int ret;
|
||||
unsigned long t;
|
||||
struct net_device_context *net_device_ctx = netdev_priv(dev->ndev);
|
||||
struct netvsc_device *nvdev = net_device_ctx->nvdev;
|
||||
struct netvsc_device *nvdev = net_device_to_netvsc_device(dev->ndev);
|
||||
|
||||
request = get_rndis_request(dev, RNDIS_MSG_INIT,
|
||||
RNDIS_MESSAGE_SIZE(struct rndis_initialize_request));
|
||||
|
@ -977,8 +974,7 @@ static void netvsc_sc_open(struct vmbus_channel *new_sc)
|
|||
{
|
||||
struct net_device *ndev =
|
||||
hv_get_drvdata(new_sc->primary_channel->device_obj);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *nvscdev = net_device_ctx->nvdev;
|
||||
struct netvsc_device *nvscdev = net_device_to_netvsc_device(ndev);
|
||||
u16 chn_index = new_sc->offermsg.offer.sub_channel_index;
|
||||
int ret;
|
||||
unsigned long flags;
|
||||
|
@ -1196,9 +1192,7 @@ int rndis_filter_device_add(struct hv_device *dev,
|
|||
|
||||
void rndis_filter_device_remove(struct hv_device *dev)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(dev);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *net_dev = net_device_ctx->nvdev;
|
||||
struct netvsc_device *net_dev = hv_device_to_netvsc_device(dev);
|
||||
struct rndis_device *rndis_dev = net_dev->extension;
|
||||
unsigned long t;
|
||||
|
||||
|
@ -1224,9 +1218,7 @@ void rndis_filter_device_remove(struct hv_device *dev)
|
|||
|
||||
int rndis_filter_open(struct hv_device *dev)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(dev);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *net_device = net_device_ctx->nvdev;
|
||||
struct netvsc_device *net_device = hv_device_to_netvsc_device(dev);
|
||||
|
||||
if (!net_device)
|
||||
return -EINVAL;
|
||||
|
@ -1239,9 +1231,7 @@ int rndis_filter_open(struct hv_device *dev)
|
|||
|
||||
int rndis_filter_close(struct hv_device *dev)
|
||||
{
|
||||
struct net_device *ndev = hv_get_drvdata(dev);
|
||||
struct net_device_context *net_device_ctx = netdev_priv(ndev);
|
||||
struct netvsc_device *nvdev = net_device_ctx->nvdev;
|
||||
struct netvsc_device *nvdev = hv_device_to_netvsc_device(dev);
|
||||
|
||||
if (!nvdev)
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in a new issue