mirror of https://gitee.com/openkylin/linux.git
cciss: factor out cciss_getpciinfo
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
parent
ee86273062
commit
0a25a5aee7
|
@ -1230,9 +1230,22 @@ static void check_ioctl_unit_attention(ctlr_info_t *h, CommandList_struct *c)
|
||||||
c->err_info->ScsiStatus != SAM_STAT_CHECK_CONDITION)
|
c->err_info->ScsiStatus != SAM_STAT_CHECK_CONDITION)
|
||||||
(void)check_for_unit_attention(h, c);
|
(void)check_for_unit_attention(h, c);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* ioctl
|
static int cciss_getpciinfo(ctlr_info_t *h, void __user *argp)
|
||||||
*/
|
{
|
||||||
|
cciss_pci_info_struct pciinfo;
|
||||||
|
|
||||||
|
if (!argp)
|
||||||
|
return -EINVAL;
|
||||||
|
pciinfo.domain = pci_domain_nr(h->pdev->bus);
|
||||||
|
pciinfo.bus = h->pdev->bus->number;
|
||||||
|
pciinfo.dev_fn = h->pdev->devfn;
|
||||||
|
pciinfo.board_id = h->board_id;
|
||||||
|
if (copy_to_user(argp, &pciinfo, sizeof(cciss_pci_info_struct)))
|
||||||
|
return -EFAULT;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int cciss_ioctl(struct block_device *bdev, fmode_t mode,
|
static int cciss_ioctl(struct block_device *bdev, fmode_t mode,
|
||||||
unsigned int cmd, unsigned long arg)
|
unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
|
@ -1245,20 +1258,7 @@ static int cciss_ioctl(struct block_device *bdev, fmode_t mode,
|
||||||
cmd, arg);
|
cmd, arg);
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case CCISS_GETPCIINFO:
|
case CCISS_GETPCIINFO:
|
||||||
{
|
return cciss_getpciinfo(h, argp);
|
||||||
cciss_pci_info_struct pciinfo;
|
|
||||||
|
|
||||||
if (!arg)
|
|
||||||
return -EINVAL;
|
|
||||||
pciinfo.domain = pci_domain_nr(h->pdev->bus);
|
|
||||||
pciinfo.bus = h->pdev->bus->number;
|
|
||||||
pciinfo.dev_fn = h->pdev->devfn;
|
|
||||||
pciinfo.board_id = h->board_id;
|
|
||||||
if (copy_to_user
|
|
||||||
(argp, &pciinfo, sizeof(cciss_pci_info_struct)))
|
|
||||||
return -EFAULT;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
case CCISS_GETINTINFO:
|
case CCISS_GETINTINFO:
|
||||||
{
|
{
|
||||||
cciss_coalint_struct intinfo;
|
cciss_coalint_struct intinfo;
|
||||||
|
|
Loading…
Reference in New Issue