Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261683AbUJaXD4 (ORCPT ); Sun, 31 Oct 2004 18:03:56 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261684AbUJaXD4 (ORCPT ); Sun, 31 Oct 2004 18:03:56 -0500 Received: from bristol.swissdisk.com ([65.207.35.130]:55988 "EHLO bristol.swissdisk.com") by vger.kernel.org with ESMTP id S261683AbUJaXAG (ORCPT ); Sun, 31 Oct 2004 18:00:06 -0500 Date: Sun, 31 Oct 2004 16:28:58 -0500 From: Ben Collins To: Adrian Bunk Cc: linux1394-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: RFC: [2.6 patch] ieee1394 cleanup Message-ID: <20041031212858.GC9684@phunnypharm.org> References: <20041031213250.GD2495@stusta.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041031213250.GD2495@stusta.de> User-Agent: Mutt/1.5.6+20040722i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Need to leave the csr1212 files alone. csr1212.[ch] is used for userspace and kernelspace, and I don't want to have two versions. On Sun, Oct 31, 2004 at 10:32:50PM +0100, Adrian Bunk wrote: > The patch below makes some variables and functions under > drivers/ieee1394/ that were needlessly global static. > > Besides this, it removes several functions that weren't used anywhere in > the kernel. > > It also includes the removal of 25 EXPORT_SYMBOL's (mostly due to a > removal of the corresponding functions). > > > Please review and comment on this patch. > > > diffstat output: > drivers/ieee1394/amdtp.c | 16 - > drivers/ieee1394/csr1212.c | 194 ----------------------- > drivers/ieee1394/csr1212.h | 38 ---- > drivers/ieee1394/dv1394.c | 2 > drivers/ieee1394/highlevel.c | 32 --- > drivers/ieee1394/ieee1394_core.c | 30 --- > drivers/ieee1394/ieee1394_core.h | 1 > drivers/ieee1394/ieee1394_transactions.c | 28 --- > drivers/ieee1394/nodemgr.c | 47 ----- > drivers/ieee1394/sbp2.c | 4 > drivers/ieee1394/video1394.c | 10 - > 11 files changed, 28 insertions(+), 374 deletions(-) > > > > Signed-off-by: Adrian Bunk > > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/ieee1394_core.h.old 2004-10-31 20:01:23.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/ieee1394_core.h 2004-10-31 20:03:14.000000000 +0100 > @@ -89,7 +89,6 @@ > } > > void abort_timedouts(unsigned long __opaque); > -void abort_requests(struct hpsb_host *host); > > struct hpsb_packet *hpsb_alloc_packet(size_t data_size); > void hpsb_free_packet(struct hpsb_packet *packet); > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/ieee1394_core.c.old 2004-10-31 19:15:14.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/ieee1394_core.c 2004-10-31 22:15:32.000000000 +0100 > @@ -79,6 +79,7 @@ > #define dump_packet(x,y,z) > #endif > > +static void abort_requests(struct hpsb_host *host); > static void queue_packet_complete(struct hpsb_packet *packet); > > > @@ -939,7 +940,7 @@ > } > > > -void abort_requests(struct hpsb_host *host) > +static void abort_requests(struct hpsb_host *host) > { > struct hpsb_packet *packet; > struct sk_buff *skb; > @@ -1002,7 +1003,7 @@ > * the stack. */ > static int khpsbpkt_pid = -1, khpsbpkt_kill; > static DECLARE_COMPLETION(khpsbpkt_complete); > -struct sk_buff_head hpsbpkt_queue; > +static struct sk_buff_head hpsbpkt_queue; > static DECLARE_MUTEX_LOCKED(khpsbpkt_sig); > > > @@ -1217,8 +1218,6 @@ > EXPORT_SYMBOL(hpsb_read); > EXPORT_SYMBOL(hpsb_write); > EXPORT_SYMBOL(hpsb_lock); > -EXPORT_SYMBOL(hpsb_lock64); > -EXPORT_SYMBOL(hpsb_send_gasp); > EXPORT_SYMBOL(hpsb_packet_success); > > /** highlevel.c **/ > @@ -1230,28 +1229,18 @@ > EXPORT_SYMBOL(hpsb_listen_channel); > EXPORT_SYMBOL(hpsb_unlisten_channel); > EXPORT_SYMBOL(hpsb_get_hostinfo); > -EXPORT_SYMBOL(hpsb_get_host_bykey); > EXPORT_SYMBOL(hpsb_create_hostinfo); > EXPORT_SYMBOL(hpsb_destroy_hostinfo); > EXPORT_SYMBOL(hpsb_set_hostinfo_key); > -EXPORT_SYMBOL(hpsb_get_hostinfo_key); > EXPORT_SYMBOL(hpsb_get_hostinfo_bykey); > EXPORT_SYMBOL(hpsb_set_hostinfo); > -EXPORT_SYMBOL(highlevel_read); > -EXPORT_SYMBOL(highlevel_write); > -EXPORT_SYMBOL(highlevel_lock); > -EXPORT_SYMBOL(highlevel_lock64); > EXPORT_SYMBOL(highlevel_add_host); > EXPORT_SYMBOL(highlevel_remove_host); > EXPORT_SYMBOL(highlevel_host_reset); > > /** nodemgr.c **/ > -EXPORT_SYMBOL(hpsb_guid_get_entry); > -EXPORT_SYMBOL(hpsb_nodeid_get_entry); > EXPORT_SYMBOL(hpsb_node_fill_packet); > -EXPORT_SYMBOL(hpsb_node_read); > EXPORT_SYMBOL(hpsb_node_write); > -EXPORT_SYMBOL(hpsb_node_lock); > EXPORT_SYMBOL(hpsb_register_protocol); > EXPORT_SYMBOL(hpsb_unregister_protocol); > EXPORT_SYMBOL(ieee1394_bus_type); > @@ -1295,27 +1284,14 @@ > EXPORT_SYMBOL(csr1212_create_csr); > EXPORT_SYMBOL(csr1212_init_local_csr); > EXPORT_SYMBOL(csr1212_new_immediate); > -EXPORT_SYMBOL(csr1212_new_leaf); > -EXPORT_SYMBOL(csr1212_new_csr_offset); > EXPORT_SYMBOL(csr1212_new_directory); > EXPORT_SYMBOL(csr1212_associate_keyval); > EXPORT_SYMBOL(csr1212_attach_keyval_to_directory); > -EXPORT_SYMBOL(csr1212_new_extended_immediate); > -EXPORT_SYMBOL(csr1212_new_extended_leaf); > -EXPORT_SYMBOL(csr1212_new_descriptor_leaf); > -EXPORT_SYMBOL(csr1212_new_textual_descriptor_leaf); > EXPORT_SYMBOL(csr1212_new_string_descriptor_leaf); > -EXPORT_SYMBOL(csr1212_new_icon_descriptor_leaf); > -EXPORT_SYMBOL(csr1212_new_modifiable_descriptor_leaf); > -EXPORT_SYMBOL(csr1212_new_keyword_leaf); > EXPORT_SYMBOL(csr1212_detach_keyval_from_directory); > -EXPORT_SYMBOL(csr1212_disassociate_keyval); > EXPORT_SYMBOL(csr1212_release_keyval); > EXPORT_SYMBOL(csr1212_destroy_csr); > EXPORT_SYMBOL(csr1212_read); > -EXPORT_SYMBOL(csr1212_generate_positions); > -EXPORT_SYMBOL(csr1212_generate_layout_order); > -EXPORT_SYMBOL(csr1212_fill_cache); > EXPORT_SYMBOL(csr1212_generate_csr_image); > EXPORT_SYMBOL(csr1212_parse_keyval); > EXPORT_SYMBOL(csr1212_parse_csr); > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/ieee1394_transactions.c.old 2004-10-31 19:13:10.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/ieee1394_transactions.c 2004-10-31 22:14:33.000000000 +0100 > @@ -566,34 +566,6 @@ > return retval; > } > > -int hpsb_lock64(struct hpsb_host *host, nodeid_t node, unsigned int generation, > - u64 addr, int extcode, octlet_t *data, octlet_t arg) > -{ > - struct hpsb_packet *packet; > - int retval = 0; > - > - BUG_ON(in_interrupt()); // We can't be called in an interrupt, yet > - > - packet = hpsb_make_lock64packet(host, node, addr, extcode, data, arg); > - if (!packet) > - return -ENOMEM; > - > - packet->generation = generation; > - retval = hpsb_send_packet_and_wait(packet); > - if (retval < 0) > - goto hpsb_lock64_fail; > - > - retval = hpsb_packet_success(packet); > - > - if (retval == 0) > - *data = (u64)packet->data[1] << 32 | packet->data[0]; > - > -hpsb_lock64_fail: > - hpsb_free_tlabel(packet); > - hpsb_free_packet(packet); > - > - return retval; > -} > > int hpsb_send_gasp(struct hpsb_host *host, int channel, unsigned int generation, > quadlet_t *buffer, size_t length, u32 specifier_id, > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/nodemgr.c.old 2004-10-31 18:59:27.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/nodemgr.c 2004-10-31 22:00:39.000000000 +0100 > @@ -147,7 +147,7 @@ > put_device(&container_of((class_dev), struct node_entry, class_dev)->device); > } > > -struct class nodemgr_ne_class = { > +static struct class nodemgr_ne_class = { > .name = "ieee1394_node", > .release = ne_cls_release, > }; > @@ -159,7 +159,7 @@ > > /* The name here is only so that unit directory hotplug works with old > * style hotplug, which only ever did unit directories anyway. */ > -struct class nodemgr_ud_class = { > +static struct class nodemgr_ud_class = { > .name = "ieee1394", > .release = ud_cls_release, > .hotplug = nodemgr_hotplug, > @@ -1556,29 +1556,6 @@ > complete_and_exit(&hi->exited, 0); > } > > -struct node_entry *hpsb_guid_get_entry(u64 guid) > -{ > - struct node_entry *ne; > - > - down(&nodemgr_serialize); > - ne = find_entry_by_guid(guid); > - up(&nodemgr_serialize); > - > - return ne; > -} > - > -struct node_entry *hpsb_nodeid_get_entry(struct hpsb_host *host, nodeid_t nodeid) > -{ > - struct node_entry *ne; > - > - down(&nodemgr_serialize); > - ne = find_entry_by_nodeid(host, nodeid); > - up(&nodemgr_serialize); > - > - return ne; > -} > - > - > int nodemgr_for_each_host(void *__data, int (*cb)(struct hpsb_host *, void *)) > { > struct class *class = &hpsb_host_class; > @@ -1621,16 +1598,6 @@ > pkt->node_id = ne->nodeid; > } > > -int hpsb_node_read(struct node_entry *ne, u64 addr, > - quadlet_t *buffer, size_t length) > -{ > - unsigned int generation = ne->generation; > - > - barrier(); > - return hpsb_read(ne->host, ne->nodeid, generation, > - addr, buffer, length); > -} > - > int hpsb_node_write(struct node_entry *ne, u64 addr, > quadlet_t *buffer, size_t length) > { > @@ -1641,16 +1608,6 @@ > addr, buffer, length); > } > > -int hpsb_node_lock(struct node_entry *ne, u64 addr, > - int extcode, quadlet_t *data, quadlet_t arg) > -{ > - unsigned int generation = ne->generation; > - > - barrier(); > - return hpsb_lock(ne->host, ne->nodeid, generation, > - addr, extcode, data, arg); > -} > - > static void nodemgr_add_host(struct hpsb_host *host) > { > struct host_info *hi; > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/sbp2.c.old 2004-10-31 19:17:23.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/sbp2.c 2004-10-31 22:00:39.000000000 +0100 > @@ -229,7 +229,7 @@ > > static Scsi_Host_Template scsi_driver_template; > > -const u8 sbp2_speedto_max_payload[] = { 0x7, 0x8, 0x9, 0xA, 0xB, 0xC }; > +static const u8 sbp2_speedto_max_payload[] = { 0x7, 0x8, 0x9, 0xA, 0xB, 0xC }; > > static void sbp2_host_reset(struct hpsb_host *host); > > @@ -373,7 +373,7 @@ > /* This is much like hpsb_node_write(), except it ignores the response > * subaction and returns immediately. Can be used from interrupts. > */ > -int sbp2util_node_write_no_wait(struct node_entry *ne, u64 addr, > +static int sbp2util_node_write_no_wait(struct node_entry *ne, u64 addr, > quadlet_t *buffer, size_t length) > { > struct hpsb_packet *packet; > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/video1394.c.old 2004-10-31 19:18:04.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/video1394.c 2004-10-31 22:00:39.000000000 +0100 > @@ -146,8 +146,8 @@ > #define PRINT(level, card, fmt, args...) \ > printk(level "video1394_%d: " fmt "\n" , card , ## args) > > -void wakeup_dma_ir_ctx(unsigned long l); > -void wakeup_dma_it_ctx(unsigned long l); > +static void wakeup_dma_ir_ctx(unsigned long l); > +static void wakeup_dma_it_ctx(unsigned long l); > > static struct hpsb_highlevel video1394_highlevel; > > @@ -487,7 +487,7 @@ > return NULL; > } > > -void wakeup_dma_ir_ctx(unsigned long l) > +static void wakeup_dma_ir_ctx(unsigned long l) > { > struct dma_iso_ctx *d = (struct dma_iso_ctx *) l; > int i; > @@ -560,7 +560,7 @@ > #endif > } > > -void wakeup_dma_it_ctx(unsigned long l) > +static void wakeup_dma_it_ctx(unsigned long l) > { > struct dma_iso_ctx *d = (struct dma_iso_ctx *) l; > struct ti_ohci *ohci = d->ohci; > @@ -1161,7 +1161,7 @@ > * But e.g. pte_alloc() does not work in modules ... :-( > */ > > -int video1394_mmap(struct file *file, struct vm_area_struct *vma) > +static int video1394_mmap(struct file *file, struct vm_area_struct *vma) > { > struct file_ctx *ctx = (struct file_ctx *)file->private_data; > int res = -EINVAL; > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/dv1394.c.old 2004-10-31 19:23:36.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/dv1394.c 2004-10-31 22:00:39.000000000 +0100 > @@ -1272,7 +1272,7 @@ > error-prone code in dv1394. > */ > > -int dv1394_mmap(struct file *file, struct vm_area_struct *vma) > +static int dv1394_mmap(struct file *file, struct vm_area_struct *vma) > { > struct video_card *video = file_to_video_card(file); > int retval = -EINVAL; > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/amdtp.c.old 2004-10-31 19:24:11.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/amdtp.c 2004-10-31 22:00:39.000000000 +0100 > @@ -286,7 +286,7 @@ > #define OHCI1394_CONTEXT_DEAD 0x00000800 > #define OHCI1394_CONTEXT_ACTIVE 0x00000400 > > -void ohci1394_start_it_ctx(struct ti_ohci *ohci, int ctx, > +static void ohci1394_start_it_ctx(struct ti_ohci *ohci, int ctx, > dma_addr_t first_cmd, int z, int cycle_match) > { > reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, 1 << ctx); > @@ -298,13 +298,13 @@ > OHCI1394_CONTEXT_RUN); > } > > -void ohci1394_wake_it_ctx(struct ti_ohci *ohci, int ctx) > +static void ohci1394_wake_it_ctx(struct ti_ohci *ohci, int ctx) > { > reg_write(ohci, OHCI1394_IsoXmitContextControlSet + ctx * 16, > OHCI1394_CONTEXT_WAKE); > } > > -void ohci1394_stop_it_ctx(struct ti_ohci *ohci, int ctx, int synchronous) > +static void ohci1394_stop_it_ctx(struct ti_ohci *ohci, int ctx, int synchronous) > { > u32 control; > int wait; > @@ -530,7 +530,7 @@ > return frac->integer + (frac->numerator > 0 ? 1 : 0); > } > > -void packet_initialize(struct packet *p, struct packet *next) > +static void packet_initialize(struct packet *p, struct packet *next) > { > /* Here we initialize the dma descriptor block for > * transferring one iso packet. We use two descriptors per > @@ -559,7 +559,7 @@ > p->db->payload_desc.status = 0; > } > > -struct packet_list *packet_list_alloc(struct stream *s) > +static struct packet_list *packet_list_alloc(struct stream *s) > { > int i; > struct packet_list *pl; > @@ -588,7 +588,7 @@ > return pl; > } > > -void packet_list_free(struct packet_list *pl, struct stream *s) > +static void packet_list_free(struct packet_list *pl, struct stream *s) > { > int i; > > @@ -1010,7 +1010,7 @@ > return 0; > } > > -struct stream *stream_alloc(struct amdtp_host *host) > +static struct stream *stream_alloc(struct amdtp_host *host) > { > struct stream *s; > unsigned long flags; > @@ -1062,7 +1062,7 @@ > return s; > } > > -void stream_free(struct stream *s) > +static void stream_free(struct stream *s) > { > unsigned long flags; > > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/csr1212.h.old 2004-10-31 20:05:26.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/csr1212.h 2004-10-31 20:07:34.000000000 +0100 > @@ -556,40 +556,8 @@ > * must release those keyvals with csr1212_release_keyval() when they are no > * longer needed. */ > extern struct csr1212_keyval *csr1212_new_immediate(u_int8_t key, u_int32_t value); > -extern struct csr1212_keyval *csr1212_new_leaf(u_int8_t key, const void *data, > - size_t data_len); > -extern struct csr1212_keyval *csr1212_new_csr_offset(u_int8_t key, > - u_int32_t csr_offset); > extern struct csr1212_keyval *csr1212_new_directory(u_int8_t key); > -extern struct csr1212_keyval *csr1212_new_extended_immediate(u_int32_t spec, > - u_int32_t key, > - u_int32_t value); > -extern struct csr1212_keyval *csr1212_new_extended_leaf(u_int32_t spec, > - u_int32_t key, > - const void *data, > - size_t data_len); > -extern struct csr1212_keyval *csr1212_new_descriptor_leaf(u_int8_t dtype, > - u_int32_t specifier_id, > - const void *data, > - size_t data_len); > -extern struct csr1212_keyval *csr1212_new_textual_descriptor_leaf(u_int8_t cwidth, > - u_int16_t cset, > - u_int16_t language, > - const void *data, > - size_t data_len); > extern struct csr1212_keyval *csr1212_new_string_descriptor_leaf(const char *s); > -extern struct csr1212_keyval *csr1212_new_icon_descriptor_leaf(u_int32_t version, > - u_int8_t palette_depth, > - u_int8_t color_space, > - u_int16_t language, > - u_int16_t hscan, > - u_int16_t vscan, > - u_int32_t *palette, > - u_int32_t *pixels); > -extern struct csr1212_keyval *csr1212_new_modifiable_descriptor_leaf(u_int16_t max_size, > - u_int64_t address); > -extern struct csr1212_keyval *csr1212_new_keyword_leaf(int strc, > - const char *strv[]); > > > /* The following functions manage association between keyvals. Typically, > @@ -598,7 +566,6 @@ > * keyval that it is associated with.*/ > extern int csr1212_associate_keyval(struct csr1212_keyval *kv, > struct csr1212_keyval *associate); > -extern void csr1212_disassociate_keyval(struct csr1212_keyval *kv); > > > /* The following functions manage the association of a keyval and directories. > @@ -614,11 +581,6 @@ > * the list of caches available via csr->cache_head. The other functions are > * provided should there be a need to create a flat image without restrictions > * placed by IEEE 1212. */ > -extern struct csr1212_keyval *csr1212_generate_positions(struct csr1212_csr_rom_cache *cache, > - struct csr1212_keyval *start_kv, > - int start_pos); > -extern size_t csr1212_generate_layout_order(struct csr1212_keyval *kv); > -extern void csr1212_fill_cache(struct csr1212_csr_rom_cache *cache); > extern int csr1212_generate_csr_image(struct csr1212_csr *csr); > > > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/csr1212.c.old 2004-10-31 19:27:44.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/csr1212.c 2004-10-31 22:00:39.000000000 +0100 > @@ -249,7 +249,7 @@ > return kv; > } > > -struct csr1212_keyval *csr1212_new_leaf(u_int8_t key, const void *data, size_t data_len) > +static struct csr1212_keyval *csr1212_new_leaf(u_int8_t key, const void *data, size_t data_len) > { > struct csr1212_keyval *kv = csr1212_new_keyval(CSR1212_KV_TYPE_LEAF, key); > > @@ -276,7 +276,7 @@ > return kv; > } > > -struct csr1212_keyval *csr1212_new_csr_offset(u_int8_t key, u_int32_t csr_offset) > +static struct csr1212_keyval *csr1212_new_csr_offset(u_int8_t key, u_int32_t csr_offset) > { > struct csr1212_keyval *kv = csr1212_new_keyval(CSR1212_KV_TYPE_CSR_OFFSET, key); > > @@ -373,65 +373,7 @@ > return CSR1212_SUCCESS; > } > > -struct csr1212_keyval *csr1212_new_extended_immediate(u_int32_t spec, u_int32_t key, > - u_int32_t value) > -{ > - struct csr1212_keyval *kvs, *kvk, *kvv; > - > - kvs = csr1212_new_immediate(CSR1212_KV_ID_EXTENDED_KEY_SPECIFIER_ID, spec); > - kvk = csr1212_new_immediate(CSR1212_KV_ID_EXTENDED_KEY, key); > - kvv = csr1212_new_immediate(CSR1212_KV_ID_EXTENDED_DATA, value); > - > - if (!kvs || !kvk || !kvv) { > - if (kvs) > - free_keyval(kvs); > - if (kvk) > - free_keyval(kvk); > - if (kvv) > - free_keyval(kvv); > - return NULL; > - } > - > - /* Don't keep a local reference to the extended key or value. */ > - kvk->refcnt = 0; > - kvv->refcnt = 0; > - > - csr1212_associate_keyval(kvk, kvv); > - csr1212_associate_keyval(kvs, kvk); > - > - return kvs; > -} > - > -struct csr1212_keyval *csr1212_new_extended_leaf(u_int32_t spec, u_int32_t key, > - const void *data, size_t data_len) > -{ > - struct csr1212_keyval *kvs, *kvk, *kvv; > - > - kvs = csr1212_new_immediate(CSR1212_KV_ID_EXTENDED_KEY_SPECIFIER_ID, spec); > - kvk = csr1212_new_immediate(CSR1212_KV_ID_EXTENDED_KEY, key); > - kvv = csr1212_new_leaf(CSR1212_KV_ID_EXTENDED_DATA, data, data_len); > - > - if (!kvs || !kvk || !kvv) { > - if (kvs) > - free_keyval(kvs); > - if (kvk) > - free_keyval(kvk); > - if (kvv) > - free_keyval(kvv); > - return NULL; > - } > - > - /* Don't keep a local reference to the extended key or value. */ > - kvk->refcnt = 0; > - kvv->refcnt = 0; > - > - csr1212_associate_keyval(kvk, kvv); > - csr1212_associate_keyval(kvs, kvk); > - > - return kvs; > -} > - > -struct csr1212_keyval *csr1212_new_descriptor_leaf(u_int8_t dtype, u_int32_t specifier_id, > +static struct csr1212_keyval *csr1212_new_descriptor_leaf(u_int8_t dtype, u_int32_t specifier_id, > const void *data, size_t data_len) > { > struct csr1212_keyval *kv; > @@ -452,7 +394,7 @@ > } > > > -struct csr1212_keyval *csr1212_new_textual_descriptor_leaf(u_int8_t cwidth, > +static struct csr1212_keyval *csr1212_new_textual_descriptor_leaf(u_int8_t cwidth, > u_int16_t cset, > u_int16_t language, > const void *data, > @@ -520,118 +462,6 @@ > return csr1212_new_textual_descriptor_leaf(0, 0, 0, s, strlen(s)); > } > > -struct csr1212_keyval *csr1212_new_icon_descriptor_leaf(u_int32_t version, > - u_int8_t palette_depth, > - u_int8_t color_space, > - u_int16_t language, > - u_int16_t hscan, > - u_int16_t vscan, > - u_int32_t *palette, > - u_int32_t *pixels) > -{ > - static const int pd[4] = { 0, 4, 16, 256 }; > - static const int cs[16] = { 4, 2 }; > - struct csr1212_keyval *kv; > - int palette_size = pd[palette_depth] * cs[color_space]; > - int pixel_size = (hscan * vscan + 3) & ~0x3; > - > - if ((palette_depth && !palette) || !pixels) > - return NULL; > - > - kv = csr1212_new_descriptor_leaf(1, 0, NULL, > - palette_size + pixel_size + > - CSR1212_ICON_DESCRIPTOR_LEAF_OVERHEAD); > - if (!kv) > - return NULL; > - > - CSR1212_ICON_DESCRIPTOR_LEAF_SET_VERSION(kv, version); > - CSR1212_ICON_DESCRIPTOR_LEAF_SET_PALETTE_DEPTH(kv, palette_depth); > - CSR1212_ICON_DESCRIPTOR_LEAF_SET_COLOR_SPACE(kv, color_space); > - CSR1212_ICON_DESCRIPTOR_LEAF_SET_LANGUAGE(kv, language); > - CSR1212_ICON_DESCRIPTOR_LEAF_SET_HSCAN(kv, hscan); > - CSR1212_ICON_DESCRIPTOR_LEAF_SET_VSCAN(kv, vscan); > - > - if (palette_size) > - memcpy(CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE(kv), palette, > - palette_size); > - > - memcpy(CSR1212_ICON_DESCRIPTOR_LEAF_PIXELS(kv), pixels, pixel_size); > - > - return kv; > -} > - > -struct csr1212_keyval *csr1212_new_modifiable_descriptor_leaf(u_int16_t max_size, > - u_int64_t address) > -{ > - struct csr1212_keyval *kv; > - > - /* IEEE 1212, par. 7.5.4.3 Modifiable descriptors */ > - kv = csr1212_new_leaf(CSR1212_KV_ID_MODIFIABLE_DESCRIPTOR, NULL, sizeof(u_int64_t)); > - if(!kv) > - return NULL; > - > - CSR1212_MODIFIABLE_DESCRIPTOR_SET_MAX_SIZE(kv, max_size); > - CSR1212_MODIFIABLE_DESCRIPTOR_SET_ADDRESS_HI(kv, address); > - CSR1212_MODIFIABLE_DESCRIPTOR_SET_ADDRESS_LO(kv, address); > - > - return kv; > -} > - > -static int csr1212_check_keyword(const char *s) > -{ > - for (; *s; s++) { > - > - if (('A' <= *s) && (*s <= 'Z')) > - continue; > - if (('0' <= *s) && (*s <= '9')) > - continue; > - if (*s == '-') > - continue; > - > - return -1; /* failed */ > - } > - /* String conforms to keyword, as specified by IEEE 1212, > - * par. 7.6.5 */ > - return CSR1212_SUCCESS; > -} > - > -struct csr1212_keyval *csr1212_new_keyword_leaf(int strc, const char *strv[]) > -{ > - struct csr1212_keyval *kv; > - char *buffer; > - int i, data_len = 0; > - > - /* Check all keywords to see if they conform to restrictions: > - * Only the following characters is allowed ['A'..'Z','0'..'9','-'] > - * Each word is zero-terminated. > - * Also calculate the total length of the keywords. > - */ > - for (i = 0; i < strc; i++) { > - if (!strv[i] || csr1212_check_keyword(strv[i])) { > - return NULL; > - } > - data_len += strlen(strv[i]) + 1; /* Add zero-termination char. */ > - } > - > - /* IEEE 1212, par. 7.6.5 Keyword leaves */ > - kv = csr1212_new_leaf(CSR1212_KV_ID_KEYWORD, NULL, data_len); > - if (!kv) > - return NULL; > - > - buffer = (char *)kv->value.leaf.data; > - > - /* make sure last quadlet is zeroed out */ > - *((u_int32_t*)&(buffer[(data_len - 1) & ~0x3])) = 0; > - > - /* Copy keyword(s) into leaf data buffer */ > - for (i = 0; i < strc; i++) { > - int len = strlen(strv[i]) + 1; > - memcpy(buffer, strv[i], len); > - buffer += len; > - } > - return kv; > -} > - > > /* Destruction Routines */ > > @@ -663,16 +493,6 @@ > } > > > -void csr1212_disassociate_keyval(struct csr1212_keyval *kv) > -{ > - if (kv->associate) { > - csr1212_release_keyval(kv->associate); > - } > - > - kv->associate = NULL; > -} > - > - > /* This function is used to free the memory taken by a keyval. If the given > * keyval is a directory type, then any keyvals contained in that directory > * will be destroyed as well if their respective refcnts are 0. By means of > @@ -895,7 +715,7 @@ > return num_entries; > } > > -size_t csr1212_generate_layout_order(struct csr1212_keyval *kv) > +static size_t csr1212_generate_layout_order(struct csr1212_keyval *kv) > { > struct csr1212_keyval *ltail = kv; > size_t agg_size = 0; > @@ -918,7 +738,7 @@ > return quads_to_bytes(agg_size); > } > > -struct csr1212_keyval *csr1212_generate_positions(struct csr1212_csr_rom_cache *cache, > +static struct csr1212_keyval *csr1212_generate_positions(struct csr1212_csr_rom_cache *cache, > struct csr1212_keyval *start_kv, > int start_pos) > { > @@ -1026,7 +846,7 @@ > } > } > > -void csr1212_fill_cache(struct csr1212_csr_rom_cache *cache) > +static void csr1212_fill_cache(struct csr1212_csr_rom_cache *cache) > { > struct csr1212_keyval *kv, *nkv; > struct csr1212_keyval_img *kvi; > --- linux-2.6.10-rc1-mm2-full/drivers/ieee1394/highlevel.c.old 2004-10-31 19:34:07.000000000 +0100 > +++ linux-2.6.10-rc1-mm2-full/drivers/ieee1394/highlevel.c 2004-10-31 22:00:39.000000000 +0100 > @@ -173,18 +173,6 @@ > } > > > -unsigned long hpsb_get_hostinfo_key(struct hpsb_highlevel *hl, struct hpsb_host *host) > -{ > - struct hl_host_info *hi; > - > - hi = hl_get_hostinfo(hl, host); > - if (hi) > - return hi->key; > - > - return 0; > -} > - > - > void *hpsb_get_hostinfo_bykey(struct hpsb_highlevel *hl, unsigned long key) > { > struct hl_host_info *hi; > @@ -206,26 +194,6 @@ > } > > > -struct hpsb_host *hpsb_get_host_bykey(struct hpsb_highlevel *hl, unsigned long key) > -{ > - struct hl_host_info *hi; > - struct hpsb_host *host = NULL; > - > - if (!hl) > - return NULL; > - > - read_lock(&hl->host_info_lock); > - list_for_each_entry(hi, &hl->host_info_list, list) { > - if (hi->key == key) { > - host = hi->host; > - break; > - } > - } > - read_unlock(&hl->host_info_lock); > - > - return host; > -} > - > static int highlevel_for_each_host_reg(struct hpsb_host *host, void *__data) > { > struct hpsb_highlevel *hl = __data; > > -- Debian - http://www.debian.org/ Linux 1394 - http://www.linux1394.org/ Subversion - http://subversion.tigris.org/ WatchGuard - http://www.watchguard.com/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/