From d3bfb59c51d5f00d8bc9d91d29f3abed472c7b72 Mon Sep 17 00:00:00 2001 From: davem Date: Sat, 11 Apr 2009 03:07:58 +0000 Subject: [PATCH] * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg slots are of type grub_ieee1275_cell_t. (grub_nand_read): Likewise. * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID, IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these macros are used to compare values in arg/ret block of the call. (grub_ieee1275_finddevice, grub_ieee1275_get_property, grub_ieee1275_next_property, grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path, grub_ieee1275_write, grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open, grub_ieee1275_close, grub_ieee1275_set_property, grub_ieee1275_set_color): All ieee1275 call arg slots are of type grub_ieee1275_cell_t. * kern/ieee1275/openfw.c (grub_map): Likewise. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t, grub_ieee1275_phandle_t): Define as grub_unit32_t type. --- ChangeLog | 21 ++++++++++++++ disk/ieee1275/nand.c | 14 ++++----- include/grub/ieee1275/ieee1275.h | 4 +-- kern/ieee1275/ieee1275.c | 50 ++++++++++++++++---------------- kern/ieee1275/openfw.c | 16 +++++----- 5 files changed, 63 insertions(+), 42 deletions(-) diff --git a/ChangeLog b/ChangeLog index b07bc757e..cc37fce85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +2009-04-10 David S. Miller + + * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg + slots are of type grub_ieee1275_cell_t. + (grub_nand_read): Likewise. + * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID, + IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these + macros are used to compare values in arg/ret block of the call. + (grub_ieee1275_finddevice, grub_ieee1275_get_property, + grub_ieee1275_next_property, grub_ieee1275_get_property_length, + grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path, + grub_ieee1275_instance_to_path, grub_ieee1275_write, + grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer, + grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open, + grub_ieee1275_close, grub_ieee1275_set_property, + grub_ieee1275_set_color): All ieee1275 call arg slots are of type + grub_ieee1275_cell_t. + * kern/ieee1275/openfw.c (grub_map): Likewise. + * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t, + grub_ieee1275_phandle_t): Define as grub_unit32_t type. + 2009-04-10 Vladimir Serbinenko UFS improvements diff --git a/disk/ieee1275/nand.c b/disk/ieee1275/nand.c index ba79faa54..ed50768a8 100644 --- a/disk/ieee1275/nand.c +++ b/disk/ieee1275/nand.c @@ -60,8 +60,8 @@ grub_nand_open (const char *name, grub_disk_t disk) struct size_args { struct grub_ieee1275_common_hdr common; - char *method; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t method; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t result; grub_ieee1275_cell_t size1; grub_ieee1275_cell_t size2; @@ -84,7 +84,7 @@ grub_nand_open (const char *name, grub_disk_t disk) data->handle = dev_ihandle; INIT_IEEE1275_COMMON (&args.common, "call-method", 2, 2); - args.method = "block-size"; + args.method = (grub_ieee1275_cell_t) "block-size"; args.ihandle = dev_ihandle; args.result = 1; @@ -97,7 +97,7 @@ grub_nand_open (const char *name, grub_disk_t disk) data->block_size = (args.size1 >> GRUB_DISK_SECTOR_BITS); INIT_IEEE1275_COMMON (&args.common, "call-method", 2, 3); - args.method = "size"; + args.method = (grub_ieee1275_cell_t) "size"; args.ihandle = dev_ihandle; args.result = 1; @@ -143,8 +143,8 @@ grub_nand_read (grub_disk_t disk, grub_disk_addr_t sector, struct read_args { struct grub_ieee1275_common_hdr common; - char *method; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t method; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t ofs; grub_ieee1275_cell_t page; grub_ieee1275_cell_t len; @@ -153,7 +153,7 @@ grub_nand_read (grub_disk_t disk, grub_disk_addr_t sector, } args; INIT_IEEE1275_COMMON (&args.common, "call-method", 6, 1); - args.method = "pio-read"; + args.method = (grub_ieee1275_cell_t) "pio-read"; args.ihandle = data->handle; args.buf = (grub_ieee1275_cell_t) buf; args.page = (grub_ieee1275_cell_t) ((grub_size_t) sector / data->block_size); diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h index 628d888cd..3b5139e7c 100644 --- a/include/grub/ieee1275/ieee1275.h +++ b/include/grub/ieee1275/ieee1275.h @@ -60,8 +60,8 @@ struct grub_ieee1275_common_hdr (p)->nr_ins = (grub_ieee1275_cell_t) xins; \ (p)->nr_outs = (grub_ieee1275_cell_t) xouts -typedef grub_ieee1275_cell_t grub_ieee1275_ihandle_t; -typedef grub_ieee1275_cell_t grub_ieee1275_phandle_t; +typedef grub_uint32_t grub_ieee1275_ihandle_t; +typedef grub_uint32_t grub_ieee1275_phandle_t; extern grub_ieee1275_phandle_t EXPORT_VAR(grub_ieee1275_chosen); extern grub_ieee1275_ihandle_t EXPORT_VAR(grub_ieee1275_mmu); diff --git a/kern/ieee1275/ieee1275.c b/kern/ieee1275/ieee1275.c index aa48e20c4..f537b11ff 100644 --- a/kern/ieee1275/ieee1275.c +++ b/kern/ieee1275/ieee1275.c @@ -20,8 +20,8 @@ #include #include -#define IEEE1275_PHANDLE_INVALID ((grub_ieee1275_phandle_t) -1) -#define IEEE1275_IHANDLE_INVALID ((grub_ieee1275_ihandle_t) 0) +#define IEEE1275_PHANDLE_INVALID ((grub_ieee1275_cell_t) -1) +#define IEEE1275_IHANDLE_INVALID ((grub_ieee1275_cell_t) 0) #define IEEE1275_CELL_INVALID ((grub_ieee1275_cell_t) -1) @@ -33,7 +33,7 @@ grub_ieee1275_finddevice (char *name, grub_ieee1275_phandle_t *phandlep) { struct grub_ieee1275_common_hdr common; grub_ieee1275_cell_t device; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t phandle; } args; @@ -56,7 +56,7 @@ grub_ieee1275_get_property (grub_ieee1275_phandle_t phandle, struct get_property_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t phandle; grub_ieee1275_cell_t prop; grub_ieee1275_cell_t buf; grub_ieee1275_cell_t buflen; @@ -106,7 +106,7 @@ grub_ieee1275_next_property (grub_ieee1275_phandle_t phandle, char *prev_prop, struct get_property_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t phandle; grub_ieee1275_cell_t prev_prop; grub_ieee1275_cell_t next_prop; grub_ieee1275_cell_t flags; @@ -131,7 +131,7 @@ grub_ieee1275_get_property_length (grub_ieee1275_phandle_t phandle, struct get_property_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t phandle; grub_ieee1275_cell_t prop; grub_ieee1275_cell_t length; } @@ -157,8 +157,8 @@ grub_ieee1275_instance_to_package (grub_ieee1275_ihandle_t ihandle, struct instance_to_package_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_ihandle_t ihandle; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t ihandle; + grub_ieee1275_cell_t phandle; } args; @@ -181,7 +181,7 @@ grub_ieee1275_package_to_path (grub_ieee1275_phandle_t phandle, struct instance_to_package_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t phandle; grub_ieee1275_cell_t buf; grub_ieee1275_cell_t buflen; grub_ieee1275_cell_t actual; @@ -210,7 +210,7 @@ grub_ieee1275_instance_to_path (grub_ieee1275_ihandle_t ihandle, struct instance_to_path_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t buf; grub_ieee1275_cell_t buflen; grub_ieee1275_cell_t actual; @@ -238,7 +238,7 @@ grub_ieee1275_write (grub_ieee1275_ihandle_t ihandle, void *buffer, struct write_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t buf; grub_ieee1275_cell_t len; grub_ieee1275_cell_t actual; @@ -264,7 +264,7 @@ grub_ieee1275_read (grub_ieee1275_ihandle_t ihandle, void *buffer, struct write_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t buf; grub_ieee1275_cell_t len; grub_ieee1275_cell_t actual; @@ -290,7 +290,7 @@ grub_ieee1275_seek (grub_ieee1275_ihandle_t ihandle, int pos_hi, struct write_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t pos_hi; grub_ieee1275_cell_t pos_lo; grub_ieee1275_cell_t result; @@ -317,8 +317,8 @@ grub_ieee1275_peer (grub_ieee1275_phandle_t node, struct peer_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t node; - grub_ieee1275_phandle_t result; + grub_ieee1275_cell_t node; + grub_ieee1275_cell_t result; } args; @@ -340,8 +340,8 @@ grub_ieee1275_child (grub_ieee1275_phandle_t node, struct child_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t node; - grub_ieee1275_phandle_t result; + grub_ieee1275_cell_t node; + grub_ieee1275_cell_t result; } args; @@ -364,8 +364,8 @@ grub_ieee1275_parent (grub_ieee1275_phandle_t node, struct parent_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t node; - grub_ieee1275_phandle_t result; + grub_ieee1275_cell_t node; + grub_ieee1275_cell_t result; } args; @@ -441,7 +441,7 @@ grub_ieee1275_open (const char *path, grub_ieee1275_ihandle_t *result) { struct grub_ieee1275_common_hdr common; grub_ieee1275_cell_t path; - grub_ieee1275_ihandle_t result; + grub_ieee1275_cell_t result; } args; @@ -462,7 +462,7 @@ grub_ieee1275_close (grub_ieee1275_ihandle_t ihandle) struct close_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t ihandle; } args; @@ -531,7 +531,7 @@ grub_ieee1275_set_property (grub_ieee1275_phandle_t phandle, struct set_property_args { struct grub_ieee1275_common_hdr common; - grub_ieee1275_phandle_t phandle; + grub_ieee1275_cell_t phandle; grub_ieee1275_cell_t propname; grub_ieee1275_cell_t buf; grub_ieee1275_cell_t size; @@ -560,8 +560,8 @@ grub_ieee1275_set_color (grub_ieee1275_ihandle_t ihandle, struct set_color_args { struct grub_ieee1275_common_hdr common; - char *method; - grub_ieee1275_ihandle_t ihandle; + grub_ieee1275_cell_t method; + grub_ieee1275_cell_t ihandle; grub_ieee1275_cell_t index; grub_ieee1275_cell_t b; grub_ieee1275_cell_t g; @@ -571,7 +571,7 @@ grub_ieee1275_set_color (grub_ieee1275_ihandle_t ihandle, args; INIT_IEEE1275_COMMON (&args.common, "call-method", 6, 1); - args.method = "color!"; + args.method = (grub_ieee1275_cell_t) "color!"; args.ihandle = ihandle; args.index = index; args.r = r; diff --git a/kern/ieee1275/openfw.c b/kern/ieee1275/openfw.c index e88f3b338..4c8cc6a05 100644 --- a/kern/ieee1275/openfw.c +++ b/kern/ieee1275/openfw.c @@ -154,17 +154,17 @@ grub_map (grub_addr_t phys, grub_addr_t virt, grub_uint32_t size, { struct map_args { struct grub_ieee1275_common_hdr common; - char *method; - grub_ieee1275_ihandle_t ihandle; - grub_uint32_t mode; - grub_uint32_t size; - grub_uint32_t virt; - grub_uint32_t phys; - int catch_result; + grub_ieee1275_cell_t method; + grub_ieee1275_cell_t ihandle; + grub_ieee1275_cell_t mode; + grub_ieee1275_cell_t size; + grub_ieee1275_cell_t virt; + grub_ieee1275_cell_t phys; + grub_ieee1275_cell_t catch_result; } args; INIT_IEEE1275_COMMON (&args.common, "call-method", 6, 1); - args.method = "map"; + args.method = (grub_ieee1275_cell_t) "map"; args.ihandle = grub_ieee1275_mmu; args.phys = phys; args.virt = virt;