/me decides to continue the "reply backwards" method. On Mon, 09 Mar 2015 10:48:22 +0100 Philipp Zabel <[email protected]> wrote:
> Am Samstag, den 07.03.2015, 10:57 +0000 schrieb Mark Brown: > > On Fri, Mar 06, 2015 at 03:16:55PM +0100, Philipp Zabel wrote: > > > > > #include <linux/sort.h> > > > -#include <trace/events/regmap.h> > > > > > > #include "internal.h" > > > > > > +#include <trace/events/regmap.h> > > > + > > > > The change is basically OK but the above is a bit too funky for my > > taste - it feels like it's asking for annoying compile breakage if > > anyone changes anything. I'd be more inclined to move the header > > somewhere where the events stuff can see it than do this. > > Good point. As I see it I have three possiblities now: > > a) Just #include "../../../drivers/base/regmap/internal.h" in > include/trace/events/regmap.h > > b) Move drivers/base/regmap/internal.h to > include/linux/regmap-internal.h and > #include <linux/regmap-internal.h> in include/trace/events/regmap.h > > c) Move include/trace/events/regmap.h to drivers/base/regmap/trace.h > and just #include "internal.h" in drivers/base/regmap/trace.h > > Which, if any, of these options would you prefer? Here is an > unscientific survey: > > a) $ git grep "#include \"\.\." include/ > include/linux/libfdt.h:#include "../../scripts/dtc/libfdt/fdt.h" > include/linux/libfdt.h:#include "../../scripts/dtc/libfdt/libfdt.h" > include/xen/interface/io/vscsiif.h:#include "../grant_table.h" > > b) $ find include/ -name "*internal.h" > include/linux/timekeeper_internal.h > > c) $ find drivers/ -name trace.h > drivers/net/wireless/ath/ath10k/trace.h > drivers/net/wireless/ath/trace.h > drivers/net/wireless/ath/wil6210/trace.h > drivers/net/wireless/ath/ath5k/trace.h > drivers/net/wireless/ath/ath6kl/trace.h > drivers/usb/dwc3/trace.h > drivers/misc/cxl/trace.h > > a) and b) aren't very common, and c) is mostly used by driver-level, not > subsystem-level trace events. I'm not sure what you mean be driver-level vs subsystem-level. How is this a subsystem level as regmap happens to be in the drivers code. Also, if you want a more thorough list, try this: $ find drivers/ -name "*.h" ! -type d | xargs grep -l "TRACE_SYSTEM" drivers/misc/cxl/trace.h drivers/usb/host/xhci-trace.h drivers/usb/dwc3/trace.h drivers/android/binder_trace.h drivers/gpu/drm/drm_trace.h drivers/gpu/drm/i915/i915_trace.h drivers/gpu/drm/radeon/radeon_trace.h drivers/staging/android/trace/sync.h drivers/mtd/devices/docg3.h drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.h drivers/net/wireless/brcm80211/brcmfmac/tracepoint.h drivers/net/wireless/iwlwifi/iwl-devtrace.h drivers/net/wireless/ath/trace.h drivers/net/wireless/ath/ath6kl/trace.h drivers/net/wireless/ath/ath5k/trace.h drivers/net/wireless/ath/wil6210/trace.h drivers/net/wireless/ath/ath10k/trace.h And looking outside of drivers and trace: $ find . -path ./include/trace -prune -o -name drivers -prune -o -name '*.h' -print | xargs grep -l TRACE_SYSTEM ./sound/core/pcm_trace.h ./sound/pci/hda/hda_intel_trace.h ./sound/pci/hda/hda_trace.h ./kernel/trace/trace_benchmark.h ./kernel/trace/trace_events_filter_test.h ./arch/arm64/kernel/trace-events-emulation.h ./arch/arm64/kvm/trace.h ./arch/x86/kernel/vsyscall_trace.h ./arch/x86/include/asm/trace/exceptions.h ./arch/x86/include/asm/trace/irq_vectors.h ./arch/x86/kvm/mmutrace.h ./arch/x86/kvm/trace.h ./arch/s390/kvm/trace.h ./arch/s390/kvm/trace-s390.h ./arch/powerpc/platforms/cell/spufs/sputrace.h ./arch/powerpc/include/asm/trace.h ./arch/powerpc/kvm/trace.h ./arch/powerpc/kvm/trace_hv.h ./arch/powerpc/kvm/trace_pr.h ./arch/powerpc/kvm/trace_booke.h ./arch/mips/kvm/trace.h ./arch/arm/kvm/trace.h ./include/ras/ras_event.h ./net/mac80211/trace.h ./net/wireless/trace.h ./samples/trace_events/trace-events-sample.h ./fs/ocfs2/ocfs2_trace.h ./fs/nfs/nfstrace.h ./fs/nfs/nfs4trace.h ./fs/nfsd/trace.h ./fs/gfs2/trace_gfs2.h ./fs/xfs/xfs_trace.h -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

