Could I see the semantic patch? The clean up issue sounds interesting.
Perhaps there is a way around it.
Hi,
I no longer use Coccinelle to generate constification patch, but only to find
candidate structures for constification. This is because I ran into several
issues
some of which I will try describe now from memory (unfortunately I don't have
those Cocci scripts anymore):
1. Sometimes (always?) cocci removed NULL initialization while emitting the
constified patch:
linux-2.6.39-rc7/arch/frv/mb93090-mb00/pci-vdk.c
@@ -356,7 +356,7 @@ void __init pcibios_fixup_bus(struct pci
int __init pcibios_init(void)
{
- struct pci_ops *dir = NULL;
+ const struct pci_ops *dir;
if (!mb93090_mb00_detected)
return -ENXIO;
2. Sometimes (always?) cocci joined structure field lines into one line while
constifying them:
linux-2.6.39-rc7/arch/x86/include/asm/x86_init.h
@@ -119,14 +119,7 @@ struct x86_init_pci {
*
*/
struct x86_init_ops {
- struct x86_init_resources resources;
- struct x86_init_mpparse mpparse;
- struct x86_init_irqs irqs;
- struct x86_init_oem oem;
- struct x86_init_paging paging;
- struct x86_init_timers timers;
- struct x86_init_iommu iommu;
- struct x86_init_pci pci;
+ const struct x86_init_resources resources;const struct x86_init_mpparse
mpparse;const struct x86_init_irqs irqs;const struct x86_init_oem oem;const
struct x86_init_paging paging;const struct x86_init_timers timers;const struct
x86_init_iommu iommu;const struct x86_init_pci pci;
};
/**
3. Sometimes cocci removed comment lines while joining others, maybe related
to the previous issue:
linux-2.6.39-rc7/drivers/net/wireless/ath/ath9k/hw.h
@@ -753,9 +753,7 @@ struct ath_hw {
} enable_32kHz_clock;
/* Private to hardware code */
- struct ath_hw_private_ops private_ops;
- /* Accessed by the lower level driver */
- struct ath_hw_ops ops;
+ const struct ath_hw_private_ops private_ops;const struct ath_hw_ops ops;
/* Used to program the radio on non single-chip devices */
u32 *analogBank0Data;
4. My constification patch generator cocci script didn't find all structures
that it should have, I don't know whether it was a bug in my script or in cocci
but in the end I just gave it up.
--
Emese
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)