summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2014-11-01 16:54:34 +0100
committerMartin Mares <mj@ucw.cz>2014-11-01 16:54:34 +0100
commit43217e40bbcc325c9189428e4774509b21d30fb0 (patch)
treee7f769b91b3859a633e6ab22340ff95f285bf4ff
parent35383c120d9452de7062e75ca6372ea7f74fe759 (diff)
downloadpciutils-43217e40bbcc325c9189428e4774509b21d30fb0.tar.gz
Darwin: Re-indent to match the rest of libpci and update file header
I hope that I got the attribution right.
-rw-r--r--lib/darwin-device.c185
1 files changed, 88 insertions, 97 deletions
diff --git a/lib/darwin-device.c b/lib/darwin-device.c
index 262e1e4..e34c423 100644
--- a/lib/darwin-device.c
+++ b/lib/darwin-device.c
@@ -1,8 +1,7 @@
/*
- * The PCI Library -- FreeBSD /dev/pci access
+ * The PCI Library -- Darwin kIOACPI access
*
- * Copyright (c) 1999 Jari Kirma <kirma@cs.hut.fi>
- * Updated in 2003 by Samy Al Bahra <samy@kerneled.com>
+ * Copyright (c) 2013 Apple, Inc.
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
@@ -21,12 +20,11 @@
#include <IOKit/IOKitLib.h>
#include <IOKit/IOKitKeys.h>
-
enum {
- kACPIMethodAddressSpaceRead = 0,
- kACPIMethodAddressSpaceWrite = 1,
- kACPIMethodDebuggerCommand = 2,
- kACPIMethodCount
+ kACPIMethodAddressSpaceRead = 0,
+ kACPIMethodAddressSpaceWrite = 1,
+ kACPIMethodDebuggerCommand = 2,
+ kACPIMethodCount
};
#pragma pack(1)
@@ -47,12 +45,12 @@ enum {
union IOACPIAddress {
UInt64 addr64;
struct {
- unsigned int offset :16;
- unsigned int function :3;
- unsigned int device :5;
- unsigned int bus :8;
- unsigned int segment :16;
- unsigned int reserved :16;
+ unsigned int offset :16;
+ unsigned int function :3;
+ unsigned int device :5;
+ unsigned int bus :8;
+ unsigned int segment :16;
+ unsigned int reserved :16;
} pci;
};
typedef union IOACPIAddress IOACPIAddress;
@@ -60,16 +58,15 @@ typedef union IOACPIAddress IOACPIAddress;
#pragma pack()
struct AddressSpaceParam {
- UInt64 value;
- UInt32 spaceID;
- IOACPIAddress address;
- UInt32 bitWidth;
- UInt32 bitOffset;
- UInt32 options;
+ UInt64 value;
+ UInt32 spaceID;
+ IOACPIAddress address;
+ UInt32 bitWidth;
+ UInt32 bitOffset;
+ UInt32 options;
};
typedef struct AddressSpaceParam AddressSpaceParam;
-
static void
darwin_config(struct pci_access *a UNUSED)
{
@@ -78,23 +75,22 @@ darwin_config(struct pci_access *a UNUSED)
static int
darwin_detect(struct pci_access *a)
{
- io_registry_entry_t service;
- io_connect_t connect;
- kern_return_t status;
-
- service = IOServiceGetMatchingService(kIOMasterPortDefault,
- IOServiceMatching("AppleACPIPlatformExpert"));
- if (service)
- {
- status = IOServiceOpen(service, mach_task_self(), 0, &connect);
- IOObjectRelease(service);
- }
+ io_registry_entry_t service;
+ io_connect_t connect;
+ kern_return_t status;
+
+ service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("AppleACPIPlatformExpert"));
+ if (service)
+ {
+ status = IOServiceOpen(service, mach_task_self(), 0, &connect);
+ IOObjectRelease(service);
+ }
if (!service || (kIOReturnSuccess != status))
- {
- a->warning("Cannot open AppleACPIPlatformExpert (add boot arg debug=0x144 & run as root)");
- return 0;
- }
+ {
+ a->warning("Cannot open AppleACPIPlatformExpert (add boot arg debug=0x144 & run as root)");
+ return 0;
+ }
a->debug("...using AppleACPIPlatformExpert");
a->fd = connect;
return 1;
@@ -116,34 +112,31 @@ darwin_read(struct pci_dev *d, int pos, byte *buf, int len)
if (!(len == 1 || len == 2 || len == 4))
return pci_generic_block_read(d, pos, buf, len);
- AddressSpaceParam param;
- kern_return_t status;
-
- param.spaceID = kIOACPIAddressSpaceIDPCIConfiguration;
- param.bitWidth = len * 8;
- param.bitOffset = 0;
- param.options = 0;
-
- param.address.pci.offset = pos;
- param.address.pci.function = d->func;
- param.address.pci.device = d->dev;
- param.address.pci.bus = d->bus;
- param.address.pci.segment = d->domain;
- param.address.pci.reserved = 0;
- param.value = -1ULL;
-
- size_t outSize = sizeof(param);
- status = IOConnectCallStructMethod(d->access->fd, kACPIMethodAddressSpaceRead,
- &param, sizeof(param),
- &param, &outSize);
+ AddressSpaceParam param;
+ kern_return_t status;
+
+ param.spaceID = kIOACPIAddressSpaceIDPCIConfiguration;
+ param.bitWidth = len * 8;
+ param.bitOffset = 0;
+ param.options = 0;
+
+ param.address.pci.offset = pos;
+ param.address.pci.function = d->func;
+ param.address.pci.device = d->dev;
+ param.address.pci.bus = d->bus;
+ param.address.pci.segment = d->domain;
+ param.address.pci.reserved = 0;
+ param.value = -1ULL;
+
+ size_t outSize = sizeof(param);
+ status = IOConnectCallStructMethod(d->access->fd, kACPIMethodAddressSpaceRead,
+ &param, sizeof(param),
+ &param, &outSize);
if ((kIOReturnSuccess != status))
- {
- d->access->error("darwin_read: kACPIMethodAddressSpaceRead failed: %s",
- mach_error_string(status));
- }
+ d->access->error("darwin_read: kACPIMethodAddressSpaceRead failed: %s", mach_error_string(status));
switch (len)
- {
+ {
case 1:
buf[0] = (u8) param.value;
break;
@@ -153,7 +146,7 @@ darwin_read(struct pci_dev *d, int pos, byte *buf, int len)
case 4:
((u32 *) buf)[0] = cpu_to_le32((u32) param.value);
break;
- }
+ }
return 1;
}
@@ -163,22 +156,23 @@ darwin_write(struct pci_dev *d, int pos, byte *buf, int len)
if (!(len == 1 || len == 2 || len == 4))
return pci_generic_block_write(d, pos, buf, len);
- AddressSpaceParam param;
- kern_return_t status;
+ AddressSpaceParam param;
+ kern_return_t status;
+
+ param.spaceID = kIOACPIAddressSpaceIDPCIConfiguration;
+ param.bitWidth = len * 8;
+ param.bitOffset = 0;
+ param.options = 0;
- param.spaceID = kIOACPIAddressSpaceIDPCIConfiguration;
- param.bitWidth = len * 8;
- param.bitOffset = 0;
- param.options = 0;
+ param.address.pci.offset = pos;
+ param.address.pci.function = d->func;
+ param.address.pci.device = d->dev;
+ param.address.pci.bus = d->bus;
+ param.address.pci.segment = d->domain;
+ param.address.pci.reserved = 0;
- param.address.pci.offset = pos;
- param.address.pci.function = d->func;
- param.address.pci.device = d->dev;
- param.address.pci.bus = d->bus;
- param.address.pci.segment = d->domain;
- param.address.pci.reserved = 0;
switch (len)
- {
+ {
case 1:
param.value = buf[0];
break;
@@ -188,33 +182,30 @@ darwin_write(struct pci_dev *d, int pos, byte *buf, int len)
case 4:
param.value = le32_to_cpu(((u32 *) buf)[0]);
break;
- }
+ }
- size_t outSize = 0;
- status = IOConnectCallStructMethod(d->access->fd, kACPIMethodAddressSpaceWrite,
- &param, sizeof(param),
- NULL, &outSize);
+ size_t outSize = 0;
+ status = IOConnectCallStructMethod(d->access->fd, kACPIMethodAddressSpaceWrite,
+ &param, sizeof(param),
+ NULL, &outSize);
if ((kIOReturnSuccess != status))
- {
- d->access->error("darwin_read: kACPIMethodAddressSpaceWrite failed: %s",
- mach_error_string(status));
- }
+ d->access->error("darwin_read: kACPIMethodAddressSpaceWrite failed: %s", mach_error_string(status));
return 1;
}
struct pci_methods pm_darwin_device = {
- "darwin-device",
- "Darwin device",
- darwin_config,
- darwin_detect,
- darwin_init,
- darwin_cleanup,
- pci_generic_scan,
- pci_generic_fill_info,
- darwin_read,
- darwin_write,
- NULL, /* read_vpd */
- NULL, /* dev_init */
- NULL /* dev_cleanup */
+ "darwin-device",
+ "Darwin device",
+ darwin_config,
+ darwin_detect,
+ darwin_init,
+ darwin_cleanup,
+ pci_generic_scan,
+ pci_generic_fill_info,
+ darwin_read,
+ darwin_write,
+ NULL, /* read_vpd */
+ NULL, /* dev_init */
+ NULL /* dev_cleanup */
};