Skip to content
Snippets Groups Projects
Select Git revision
  • 45b679c9a3ccd9e34f28e6ec677b812a860eb8eb
  • vme-testing default
  • ci-test
  • master
  • remoteproc
  • am625-sk-ov5640
  • pcal6534-upstreaming
  • lps22df-upstreaming
  • msc-upstreaming
  • imx8mp
  • iio/noa1305
  • vme-next
  • vme-next-4.14-rc4
  • v4.14-rc4
  • v4.14-rc3
  • v4.14-rc2
  • v4.14-rc1
  • v4.13
  • vme-next-4.13-rc7
  • v4.13-rc7
  • v4.13-rc6
  • v4.13-rc5
  • v4.13-rc4
  • v4.13-rc3
  • v4.13-rc2
  • v4.13-rc1
  • v4.12
  • v4.12-rc7
  • v4.12-rc6
  • v4.12-rc5
  • v4.12-rc4
  • v4.12-rc3
32 results

gianfar_ethtool.c

Blame
  • dm.c 59.66 KiB
    /*
     * Copyright (C) 2001, 2002 Sistina Software (UK) Limited.
     * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved.
     *
     * This file is released under the GPL.
     */
    
    #include "dm.h"
    #include "dm-uevent.h"
    
    #include <linux/init.h>
    #include <linux/module.h>
    #include <linux/mutex.h>
    #include <linux/moduleparam.h>
    #include <linux/blkpg.h>
    #include <linux/bio.h>
    #include <linux/buffer_head.h>
    #include <linux/mempool.h>
    #include <linux/slab.h>
    #include <linux/idr.h>
    #include <linux/hdreg.h>
    #include <linux/delay.h>
    
    #include <trace/events/block.h>
    
    #define DM_MSG_PREFIX "core"
    
    /*
     * Cookies are numeric values sent with CHANGE and REMOVE
     * uevents while resuming, removing or renaming the device.
     */
    #define DM_COOKIE_ENV_VAR_NAME "DM_COOKIE"
    #define DM_COOKIE_LENGTH 24
    
    static const char *_name = DM_NAME;
    
    static unsigned int major = 0;
    static unsigned int _major = 0;
    
    static DEFINE_IDR(_minor_idr);
    
    static DEFINE_SPINLOCK(_minor_lock);
    /*
     * For bio-based dm.
     * One of these is allocated per bio.
     */
    struct dm_io {
    	struct mapped_device *md;
    	int error;
    	atomic_t io_count;
    	struct bio *bio;
    	unsigned long start_time;
    	spinlock_t endio_lock;
    };
    
    /*
     * For bio-based dm.
     * One of these is allocated per target within a bio.  Hopefully
     * this will be simplified out one day.
     */
    struct dm_target_io {
    	struct dm_io *io;
    	struct dm_target *ti;
    	union map_info info;
    };
    
    /*
     * For request-based dm.
     * One of these is allocated per request.
     */