Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6
* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: Replace bdget call with simple atomic_inc of i_count PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk
This commit is contained in:
commit
91a5698d1f
|
@ -397,6 +397,14 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
.callback = init_set_sci_en_on_resume,
|
||||||
|
.ident = "Hewlett-Packard HP G7000 Notebook PC",
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "HP G7000 Notebook PC"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
.callback = init_old_suspend_ordering,
|
.callback = init_old_suspend_ordering,
|
||||||
.ident = "Panasonic CF51-2L",
|
.ident = "Panasonic CF51-2L",
|
||||||
.matches = {
|
.matches = {
|
||||||
|
|
|
@ -564,6 +564,16 @@ struct block_device *bdget(dev_t dev)
|
||||||
|
|
||||||
EXPORT_SYMBOL(bdget);
|
EXPORT_SYMBOL(bdget);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* bdgrab -- Grab a reference to an already referenced block device
|
||||||
|
* @bdev: Block device to grab a reference to.
|
||||||
|
*/
|
||||||
|
struct block_device *bdgrab(struct block_device *bdev)
|
||||||
|
{
|
||||||
|
atomic_inc(&bdev->bd_inode->i_count);
|
||||||
|
return bdev;
|
||||||
|
}
|
||||||
|
|
||||||
long nr_blockdev_pages(void)
|
long nr_blockdev_pages(void)
|
||||||
{
|
{
|
||||||
struct block_device *bdev;
|
struct block_device *bdev;
|
||||||
|
|
|
@ -1946,6 +1946,7 @@ extern void putname(const char *name);
|
||||||
extern int register_blkdev(unsigned int, const char *);
|
extern int register_blkdev(unsigned int, const char *);
|
||||||
extern void unregister_blkdev(unsigned int, const char *);
|
extern void unregister_blkdev(unsigned int, const char *);
|
||||||
extern struct block_device *bdget(dev_t);
|
extern struct block_device *bdget(dev_t);
|
||||||
|
extern struct block_device *bdgrab(struct block_device *bdev);
|
||||||
extern void bd_set_size(struct block_device *, loff_t size);
|
extern void bd_set_size(struct block_device *, loff_t size);
|
||||||
extern void bd_forget(struct inode *inode);
|
extern void bd_forget(struct inode *inode);
|
||||||
extern void bdput(struct block_device *);
|
extern void bdput(struct block_device *);
|
||||||
|
|
|
@ -753,7 +753,7 @@ int swap_type_of(dev_t device, sector_t offset, struct block_device **bdev_p)
|
||||||
|
|
||||||
if (!bdev) {
|
if (!bdev) {
|
||||||
if (bdev_p)
|
if (bdev_p)
|
||||||
*bdev_p = bdget(sis->bdev->bd_dev);
|
*bdev_p = bdgrab(sis->bdev);
|
||||||
|
|
||||||
spin_unlock(&swap_lock);
|
spin_unlock(&swap_lock);
|
||||||
return i;
|
return i;
|
||||||
|
@ -765,7 +765,7 @@ int swap_type_of(dev_t device, sector_t offset, struct block_device **bdev_p)
|
||||||
struct swap_extent, list);
|
struct swap_extent, list);
|
||||||
if (se->start_block == offset) {
|
if (se->start_block == offset) {
|
||||||
if (bdev_p)
|
if (bdev_p)
|
||||||
*bdev_p = bdget(sis->bdev->bd_dev);
|
*bdev_p = bdgrab(sis->bdev);
|
||||||
|
|
||||||
spin_unlock(&swap_lock);
|
spin_unlock(&swap_lock);
|
||||||
bdput(bdev);
|
bdput(bdev);
|
||||||
|
|
Loading…
Reference in New Issue